Individual glacier data inspection
Contents
Individual glacier data inspection¶
This notebook will walk through steps to read in and organize velocity data and clip it to the extent of a single glacier. The tools we will use include xarray, rioxarray, geopandas, and flox.
To clip its_live data to the extent of a single glacier we will use a vector dataset of glacier outlines, the Randolph Glacier Inventory. These aren’t cloud-hosted currently so you will need to download the data to your local machine.
Learning goals
subset large raster to spatial area of interest
exploring with dask and xarray
dataset inspection using
xarray label and index-based selections
grouped computations and reductions
visualization
First, lets install the python libraries that we’ll need for this notebook:
import geopandas as gpd
import os
import numpy as np
import xarray as xr
import rioxarray as rxr
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
from shapely.geometry import Polygon
from shapely.geometry import Point
import cartopy.crs as ccrs
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
import cartopy
import cartopy.feature as cfeature
import json
import urllib.request
import pandas as pd
import flox.xarray
%config InlineBackend.figure_format='retina'
Reading in ITS_LIVE data¶
We will use some of the functions we defined in the data access notebook in this notebook and others within this tutorial. They will all be within the itslivetools package.
import itslivetools
First, let’s read in the catalog again:
with urllib.request.urlopen('https://its-live-data.s3.amazonaws.com/datacubes/catalog_v02.json') as url_catalog:
itslive_catalog = json.loads(url_catalog.read().decode())
itslive_catalog.keys()
dict_keys(['type', 'features'])
The read_in_s3() function will read in a xarray dataset from a url to a zarr datacube when we’re ready:
I started with chunk_size='auto' which will choose chunk sizes that match the underlying data structure (this is generally ideal). More about choosing good chunk sizes here. If you want to use a different chunk size, specify it when you call the read_in_s3() function.
url = itslivetools.find_granule_by_point(itslive_catalog, [84.56, 28.54])
url
['http://its-live-data.s3.amazonaws.com/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr']
dc = itslivetools.read_in_s3(url[0])
dc
<xarray.Dataset>
Dimensions: (mid_date: 20549, y: 833, x: 833)
Coordinates:
* mid_date (mid_date) datetime64[ns] 2020-02-07T17:10:52....
* x (x) float64 2.001e+05 2.002e+05 ... 2.999e+05
* y (y) float64 3.2e+06 3.2e+06 ... 3.1e+06 3.1e+06
Data variables: (12/54)
acquisition_date_img1 (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
acquisition_date_img2 (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
autoRIFT_software_version (mid_date) <U5 dask.array<chunksize=(20549,), meta=np.ndarray>
chip_size_height (mid_date, y, x) float32 dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
chip_size_width (mid_date, y, x) float32 dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
date_center (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
... ...
vy_error_mask (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_error_modeled (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_error_slow (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift_mask (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift_slow (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
Attributes: (12/18)
GDAL_AREA_OR_POINT: Area
author: ITS_LIVE, a NASA MEaSUREs project (its-live.j...
autoRIFT_parameter_file: http://its-live-data.s3.amazonaws.com/autorif...
datacube_software_version: 1.0
date_created: 09-Jun-2022 04:14:40
date_updated: 09-Jun-2022 04:14:40
... ...
s3: s3://its-live-data/datacubes/v02/N20E080/ITS_...
skipped_granules: s3://its-live-data/datacubes/v02/N20E080/ITS_...
time_standard_img1: UTC
time_standard_img2: UTC
title: ITS_LIVE datacube of image_pair velocities
url: https://its-live-data.s3.amazonaws.com/datacu...- mid_date: 20549
- y: 833
- x: 833
- mid_date(mid_date)datetime64[ns]2020-02-07T17:10:52.528083968 .....
- description :
- midpoint of image 1 and image 2 acquisition date and time with granule's centroid longitude and latitude as microseconds
- standard_name :
- image_pair_center_date_with_time_separation
array(['2020-02-07T17:10:52.528083968', '2021-11-11T05:10:40.529083904', '2015-03-18T00:19:03.524224768', ..., '2018-12-10T04:47:43.028084992', '2016-07-05T04:47:51.028084992', '2019-06-11T04:54:02.028084224'], dtype='datetime64[ns]') - x(x)float642.001e+05 2.002e+05 ... 2.999e+05
- description :
- x coordinate of projection
- standard_name :
- projection_x_coordinate
array([200092.5, 200212.5, 200332.5, ..., 299692.5, 299812.5, 299932.5])
- y(y)float643.2e+06 3.2e+06 ... 3.1e+06 3.1e+06
- description :
- y coordinate of projection
- standard_name :
- projection_y_coordinate
array([3199867.5, 3199747.5, 3199627.5, ..., 3100267.5, 3100147.5, 3100027.5])
- acquisition_date_img1(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- acquisition date and time of image 1
- standard_name :
- image1_acquition_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - acquisition_date_img2(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- acquisition date and time of image 2
- standard_name :
- image2_acquition_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - autoRIFT_software_version(mid_date)<U5dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- version of autoRIFT software
- standard_name :
- autoRIFT_software_version
Array Chunk Bytes 401.35 kiB 401.35 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type numpy.ndarray - chip_size_height(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- height of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_height
- units :
- m
- y_pixel_size :
- 10.0
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 442 Tasks 441 Chunks Type float32 numpy.ndarray - chip_size_width(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- width of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_width
- units :
- m
- x_pixel_size :
- 10.0
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 442 Tasks 441 Chunks Type float32 numpy.ndarray - date_center(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- midpoint of image 1 and image 2 acquisition date
- standard_name :
- image_pair_center_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - date_dt(mid_date)timedelta64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- time separation between acquisition of image 1 and image 2
- standard_name :
- image_pair_time_separation
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type timedelta64[ns] numpy.ndarray - granule_url(mid_date)<U235dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- original granule URL
- standard_name :
- granule_url
Array Chunk Bytes 18.42 MiB 18.42 MiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type numpy.ndarray - interp_mask(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- light interpolation mask
- grid_mapping :
- mapping
- standard_name :
- interpolated_value_mask
- units :
- binary
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 442 Tasks 441 Chunks Type float32 numpy.ndarray - mapping()<U1...
- CoordinateAxisTypes :
- GeoX GeoY
- CoordinateTransformType :
- Projection
- GeoTransform :
- 200032.5 120.0 0 3199927.5 0 -120.0
- grid_mapping_name :
- universal_transverse_mercator
- inverse_flattening :
- 298.257223563
- semi_major_axis :
- 6378137.0
- spatial_epsg :
- 32645
- spatial_proj4 :
- +proj=utm +zone=45 +datum=WGS84 +units=m +no_defs
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
- utm_zone_number :
- 45.0
array('', dtype='<U1') - mission_img1(mid_date)<U1dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the mission that acquired image 1
- standard_name :
- image1_mission
Array Chunk Bytes 80.27 kiB 80.27 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type numpy.ndarray - mission_img2(mid_date)<U1dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the mission that acquired image 2
- standard_name :
- image2_mission
Array Chunk Bytes 80.27 kiB 80.27 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type numpy.ndarray - roi_valid_percentage(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- percentage of pixels with a valid velocity estimate determined for the intersection of the full image pair footprint and the region of interest (roi) that defines where autoRIFT tried to estimate a velocity
- standard_name :
- region_of_interest_valid_pixel_percentage
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - satellite_img1(mid_date)<U2dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 1
- standard_name :
- image1_satellite
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type numpy.ndarray - satellite_img2(mid_date)<U2dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 2
- standard_name :
- image2_satellite
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type numpy.ndarray - sensor_img1(mid_date)<U3dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 1
- standard_name :
- image1_sensor
Array Chunk Bytes 240.81 kiB 240.81 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type numpy.ndarray - sensor_img2(mid_date)<U3dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 2
- standard_name :
- image2_sensor
Array Chunk Bytes 240.81 kiB 240.81 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type numpy.ndarray - stable_count_mask(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- number of valid pixels over stationary or slow-flowing surfaces
- standard_name :
- stable_count_mask
- units :
- count
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type int64 numpy.ndarray - stable_count_slow(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- number of valid pixels over slowest 25% of ice
- standard_name :
- stable_count_slow
- units :
- count
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type int64 numpy.ndarray - stable_shift_flag(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- flag for applying velocity bias correction: 0 = no correction; 1 = correction from overlapping stable surface mask (stationary or slow-flowing surfaces with velocity < 15 m/yr)(top priority); 2 = correction from slowest 25% of overlapping velocities (second priority)
- standard_name :
- stable_shift_flag
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type int64 numpy.ndarray - v(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity magnitude
- grid_mapping :
- mapping
- standard_name :
- velocity
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 442 Tasks 441 Chunks Type float32 numpy.ndarray - v_error(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity magnitude error
- grid_mapping :
- mapping
- standard_name :
- velocity_error
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 442 Tasks 441 Chunks Type float32 numpy.ndarray - va(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity in radar azimuth direction
- grid_mapping :
- mapping
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 442 Tasks 441 Chunks Type float32 numpy.ndarray - va_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- error for velocity in radar azimuth direction
- standard_name :
- va_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- va_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- va_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied va shift calibrated using pixels over stable or slow surfaces
- standard_name :
- va_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- va_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vr(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity in radar range direction
- grid_mapping :
- mapping
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 442 Tasks 441 Chunks Type float32 numpy.ndarray - vr_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- error for velocity in radar range direction
- standard_name :
- vr_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vr_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vr_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vr shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vr_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vr_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vx(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity component in x direction
- grid_mapping :
- mapping
- standard_name :
- x_velocity
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 442 Tasks 441 Chunks Type float32 numpy.ndarray - vx_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- best estimate of x_velocity error: vx_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vx_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vx_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vx_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vx shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vx_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vx_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vy(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity component in y direction
- grid_mapping :
- mapping
- standard_name :
- y_velocity
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 442 Tasks 441 Chunks Type float32 numpy.ndarray - vy_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- best estimate of y_velocity error: vy_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vy_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vy_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vy_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vy shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vy_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vy_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 2 Tasks 1 Chunks Type float64 numpy.ndarray
- GDAL_AREA_OR_POINT :
- Area
- author :
- ITS_LIVE, a NASA MEaSUREs project (its-live.jpl.nasa.gov)
- autoRIFT_parameter_file :
- http://its-live-data.s3.amazonaws.com/autorift_parameters/v001/autorift_landice_0120m.shp
- datacube_software_version :
- 1.0
- date_created :
- 09-Jun-2022 04:14:40
- date_updated :
- 09-Jun-2022 04:14:40
- geo_polygon :
- [[83.94987110174335, 27.991402051034683], [84.20379020129273, 27.996804232037185], [84.45777661714104, 28.001738278786444], [84.71182426076075, 28.00620374995722], [84.96592703474772, 28.01020024594077], [84.96166371314177, 28.235735560542437], [84.95735092626452, 28.46126283461518], [84.9529882277544, 28.686782021725538], [84.94857516388325, 28.912293075803735], [84.69230915033022, 28.90814426439164], [84.43610029091587, 28.903508617931795], [84.17995490589726, 28.898386555855694], [83.92387930602281, 28.892778541374547], [83.9304896768754, 28.66744768772876], [83.9370246495942, 28.44210795053903], [83.9434849022056, 28.216759386124536], [83.94987110174335, 27.991402051034683]]
- institution :
- NASA Jet Propulsion Laboratory (JPL), California Institute of Technology
- latitude :
- 28.45
- longitude :
- 84.45
- proj_polygon :
- [[200000, 3100000], [225000.0, 3100000.0], [250000.0, 3100000.0], [275000.0, 3100000.0], [300000, 3100000], [300000.0, 3125000.0], [300000.0, 3150000.0], [300000.0, 3175000.0], [300000, 3200000], [275000.0, 3200000.0], [250000.0, 3200000.0], [225000.0, 3200000.0], [200000, 3200000], [200000.0, 3175000.0], [200000.0, 3150000.0], [200000.0, 3125000.0], [200000, 3100000]]
- projection :
- 32645
- s3 :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
- skipped_granules :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.json
- time_standard_img1 :
- UTC
- time_standard_img2 :
- UTC
- title :
- ITS_LIVE datacube of image_pair velocities
- url :
- https://its-live-data.s3.amazonaws.com/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
We are reading this in as a dask array. Let’s take a look at the chunk sizes:
Note
chunksizes shows the largest chunk size. chunks shows the sizes of all chunks along all dims, better if you have irregular chunks
dc.chunksizes
Frozen({'mid_date': (20549,), 'y': (40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 33), 'x': (40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 33)})
dc.chunks
Frozen({'mid_date': (20549,), 'y': (40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 33), 'x': (40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 33)})
Note
Setting the dask chunksize to auto at the xr.open_dataset() step will use chunk sizes that most closely resemble the structure of the underlying data. To avoid imposing a chunk size that isn’t a good fit for the data, avoid re-chunking until we have selected a subset of our area of interest from the larger dataset
Check CRS of xr object:
dc.mapping
<xarray.DataArray 'mapping' ()>
array('', dtype='<U1')
Attributes:
CoordinateAxisTypes: GeoX GeoY
CoordinateTransformType: Projection
GeoTransform: 200032.5 120.0 0 3199927.5 0 -120.0
grid_mapping_name: universal_transverse_mercator
inverse_flattening: 298.257223563
semi_major_axis: 6378137.0
spatial_epsg: 32645
spatial_proj4: +proj=utm +zone=45 +datum=WGS84 +units=m +no_defs
spatial_ref: PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",...
utm_zone_number: 45.0- ...
array('', dtype='<U1') - CoordinateAxisTypes :
- GeoX GeoY
- CoordinateTransformType :
- Projection
- GeoTransform :
- 200032.5 120.0 0 3199927.5 0 -120.0
- grid_mapping_name :
- universal_transverse_mercator
- inverse_flattening :
- 298.257223563
- semi_major_axis :
- 6378137.0
- spatial_epsg :
- 32645
- spatial_proj4 :
- +proj=utm +zone=45 +datum=WGS84 +units=m +no_defs
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
- utm_zone_number :
- 45.0
Let’s take a look at the time dimension (mid_date here). To start with we’ll just print the first 10 values:
for element in range(10):
print(dc.mid_date[element].data)
2020-02-07T17:10:52.528083968
2021-11-11T05:10:40.529083904
2015-03-18T00:19:03.524224768
2019-10-10T17:13:32.528083968
2016-07-15T05:06:36.529083904
2021-08-10T17:10:34.529083904
2021-04-15T00:19:35.894403072
2018-06-27T17:09:39.528083968
2019-12-22T05:10:48.528083968
2020-07-29T05:10:51.528083968
Weird, it doesn’t look like the time dimension is in chronological order, let’s fix that:
dc_timesorted = dc.sortby(dc['mid_date'])
dc_timesorted
/Users/emarshall/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/xarray/core/indexing.py:1228: PerformanceWarning: Slicing is producing a large chunk. To accept the large
chunk and silence this warning, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):
... array[indexer]
To avoid creating the large chunks, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):
... array[indexer]
return self.array[key]
/Users/emarshall/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/xarray/core/indexing.py:1228: PerformanceWarning: Slicing is producing a large chunk. To accept the large
chunk and silence this warning, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):
... array[indexer]
To avoid creating the large chunks, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):
... array[indexer]
return self.array[key]
/Users/emarshall/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/xarray/core/indexing.py:1228: PerformanceWarning: Slicing is producing a large chunk. To accept the large
chunk and silence this warning, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):
... array[indexer]
To avoid creating the large chunks, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):
... array[indexer]
return self.array[key]
/Users/emarshall/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/xarray/core/indexing.py:1228: PerformanceWarning: Slicing is producing a large chunk. To accept the large
chunk and silence this warning, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):
... array[indexer]
To avoid creating the large chunks, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):
... array[indexer]
return self.array[key]
/Users/emarshall/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/xarray/core/indexing.py:1228: PerformanceWarning: Slicing is producing a large chunk. To accept the large
chunk and silence this warning, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):
... array[indexer]
To avoid creating the large chunks, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):
... array[indexer]
return self.array[key]
/Users/emarshall/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/xarray/core/indexing.py:1228: PerformanceWarning: Slicing is producing a large chunk. To accept the large
chunk and silence this warning, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):
... array[indexer]
To avoid creating the large chunks, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):
... array[indexer]
return self.array[key]
/Users/emarshall/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/xarray/core/indexing.py:1228: PerformanceWarning: Slicing is producing a large chunk. To accept the large
chunk and silence this warning, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):
... array[indexer]
To avoid creating the large chunks, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):
... array[indexer]
return self.array[key]
/Users/emarshall/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/xarray/core/indexing.py:1228: PerformanceWarning: Slicing is producing a large chunk. To accept the large
chunk and silence this warning, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):
... array[indexer]
To avoid creating the large chunks, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):
... array[indexer]
return self.array[key]
/Users/emarshall/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/xarray/core/indexing.py:1228: PerformanceWarning: Slicing is producing a large chunk. To accept the large
chunk and silence this warning, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': False}):
... array[indexer]
To avoid creating the large chunks, set the option
>>> with dask.config.set(**{'array.slicing.split_large_chunks': True}):
... array[indexer]
return self.array[key]
<xarray.Dataset>
Dimensions: (mid_date: 20549, y: 833, x: 833)
Coordinates:
* mid_date (mid_date) datetime64[ns] 2013-04-09T16:49:00....
* x (x) float64 2.001e+05 2.002e+05 ... 2.999e+05
* y (y) float64 3.2e+06 3.2e+06 ... 3.1e+06 3.1e+06
Data variables: (12/54)
acquisition_date_img1 (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
acquisition_date_img2 (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
autoRIFT_software_version (mid_date) <U5 dask.array<chunksize=(20549,), meta=np.ndarray>
chip_size_height (mid_date, y, x) float32 dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
chip_size_width (mid_date, y, x) float32 dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
date_center (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
... ...
vy_error_mask (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_error_modeled (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_error_slow (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift_mask (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift_slow (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
Attributes: (12/18)
GDAL_AREA_OR_POINT: Area
author: ITS_LIVE, a NASA MEaSUREs project (its-live.j...
autoRIFT_parameter_file: http://its-live-data.s3.amazonaws.com/autorif...
datacube_software_version: 1.0
date_created: 09-Jun-2022 04:14:40
date_updated: 09-Jun-2022 04:14:40
... ...
s3: s3://its-live-data/datacubes/v02/N20E080/ITS_...
skipped_granules: s3://its-live-data/datacubes/v02/N20E080/ITS_...
time_standard_img1: UTC
time_standard_img2: UTC
title: ITS_LIVE datacube of image_pair velocities
url: https://its-live-data.s3.amazonaws.com/datacu...- mid_date: 20549
- y: 833
- x: 833
- mid_date(mid_date)datetime64[ns]2013-04-09T16:49:00.528084992 .....
- description :
- midpoint of image 1 and image 2 acquisition date and time with granule's centroid longitude and latitude as microseconds
- standard_name :
- image_pair_center_date_with_time_separation
array(['2013-04-09T16:49:00.528084992', '2013-04-23T04:55:55.528083968', '2013-04-25T16:49:09.528084992', ..., '2022-04-20T05:10:57.028083968', '2022-04-22T17:10:38.029083904', '2022-04-22T17:10:53.028083968'], dtype='datetime64[ns]') - x(x)float642.001e+05 2.002e+05 ... 2.999e+05
- description :
- x coordinate of projection
- standard_name :
- projection_x_coordinate
array([200092.5, 200212.5, 200332.5, ..., 299692.5, 299812.5, 299932.5])
- y(y)float643.2e+06 3.2e+06 ... 3.1e+06 3.1e+06
- description :
- y coordinate of projection
- standard_name :
- projection_y_coordinate
array([3199867.5, 3199747.5, 3199627.5, ..., 3100267.5, 3100147.5, 3100027.5])
- acquisition_date_img1(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- acquisition date and time of image 1
- standard_name :
- image1_acquition_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - acquisition_date_img2(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- acquisition date and time of image 2
- standard_name :
- image2_acquition_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - autoRIFT_software_version(mid_date)<U5dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- version of autoRIFT software
- standard_name :
- autoRIFT_software_version
Array Chunk Bytes 401.35 kiB 401.35 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - chip_size_height(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- height of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_height
- units :
- m
- y_pixel_size :
- 10.0
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - chip_size_width(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- width of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_width
- units :
- m
- x_pixel_size :
- 10.0
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - date_center(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- midpoint of image 1 and image 2 acquisition date
- standard_name :
- image_pair_center_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - date_dt(mid_date)timedelta64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- time separation between acquisition of image 1 and image 2
- standard_name :
- image_pair_time_separation
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type timedelta64[ns] numpy.ndarray - granule_url(mid_date)<U235dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- original granule URL
- standard_name :
- granule_url
Array Chunk Bytes 18.42 MiB 18.42 MiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - interp_mask(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- light interpolation mask
- grid_mapping :
- mapping
- standard_name :
- interpolated_value_mask
- units :
- binary
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - mapping()<U1...
- CoordinateAxisTypes :
- GeoX GeoY
- CoordinateTransformType :
- Projection
- GeoTransform :
- 200032.5 120.0 0 3199927.5 0 -120.0
- grid_mapping_name :
- universal_transverse_mercator
- inverse_flattening :
- 298.257223563
- semi_major_axis :
- 6378137.0
- spatial_epsg :
- 32645
- spatial_proj4 :
- +proj=utm +zone=45 +datum=WGS84 +units=m +no_defs
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
- utm_zone_number :
- 45.0
array('', dtype='<U1') - mission_img1(mid_date)<U1dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the mission that acquired image 1
- standard_name :
- image1_mission
Array Chunk Bytes 80.27 kiB 80.27 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - mission_img2(mid_date)<U1dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the mission that acquired image 2
- standard_name :
- image2_mission
Array Chunk Bytes 80.27 kiB 80.27 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - roi_valid_percentage(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- percentage of pixels with a valid velocity estimate determined for the intersection of the full image pair footprint and the region of interest (roi) that defines where autoRIFT tried to estimate a velocity
- standard_name :
- region_of_interest_valid_pixel_percentage
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - satellite_img1(mid_date)<U2dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 1
- standard_name :
- image1_satellite
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - satellite_img2(mid_date)<U2dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 2
- standard_name :
- image2_satellite
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - sensor_img1(mid_date)<U3dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 1
- standard_name :
- image1_sensor
Array Chunk Bytes 240.81 kiB 240.81 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - sensor_img2(mid_date)<U3dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 2
- standard_name :
- image2_sensor
Array Chunk Bytes 240.81 kiB 240.81 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - stable_count_mask(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- number of valid pixels over stationary or slow-flowing surfaces
- standard_name :
- stable_count_mask
- units :
- count
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type int64 numpy.ndarray - stable_count_slow(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- number of valid pixels over slowest 25% of ice
- standard_name :
- stable_count_slow
- units :
- count
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type int64 numpy.ndarray - stable_shift_flag(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- flag for applying velocity bias correction: 0 = no correction; 1 = correction from overlapping stable surface mask (stationary or slow-flowing surfaces with velocity < 15 m/yr)(top priority); 2 = correction from slowest 25% of overlapping velocities (second priority)
- standard_name :
- stable_shift_flag
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type int64 numpy.ndarray - v(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity magnitude
- grid_mapping :
- mapping
- standard_name :
- velocity
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - v_error(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity magnitude error
- grid_mapping :
- mapping
- standard_name :
- velocity_error
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - va(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity in radar azimuth direction
- grid_mapping :
- mapping
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - va_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- error for velocity in radar azimuth direction
- standard_name :
- va_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- va_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- va_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied va shift calibrated using pixels over stable or slow surfaces
- standard_name :
- va_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- va_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity in radar range direction
- grid_mapping :
- mapping
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - vr_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- error for velocity in radar range direction
- standard_name :
- vr_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vr_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vr_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vr shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vr_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vr_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity component in x direction
- grid_mapping :
- mapping
- standard_name :
- x_velocity
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - vx_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- best estimate of x_velocity error: vx_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vx_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vx_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vx_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vx shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vx_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vx_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity component in y direction
- grid_mapping :
- mapping
- standard_name :
- y_velocity
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - vy_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- best estimate of y_velocity error: vy_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vy_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vy_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vy_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vy shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vy_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vy_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray
- GDAL_AREA_OR_POINT :
- Area
- author :
- ITS_LIVE, a NASA MEaSUREs project (its-live.jpl.nasa.gov)
- autoRIFT_parameter_file :
- http://its-live-data.s3.amazonaws.com/autorift_parameters/v001/autorift_landice_0120m.shp
- datacube_software_version :
- 1.0
- date_created :
- 09-Jun-2022 04:14:40
- date_updated :
- 09-Jun-2022 04:14:40
- geo_polygon :
- [[83.94987110174335, 27.991402051034683], [84.20379020129273, 27.996804232037185], [84.45777661714104, 28.001738278786444], [84.71182426076075, 28.00620374995722], [84.96592703474772, 28.01020024594077], [84.96166371314177, 28.235735560542437], [84.95735092626452, 28.46126283461518], [84.9529882277544, 28.686782021725538], [84.94857516388325, 28.912293075803735], [84.69230915033022, 28.90814426439164], [84.43610029091587, 28.903508617931795], [84.17995490589726, 28.898386555855694], [83.92387930602281, 28.892778541374547], [83.9304896768754, 28.66744768772876], [83.9370246495942, 28.44210795053903], [83.9434849022056, 28.216759386124536], [83.94987110174335, 27.991402051034683]]
- institution :
- NASA Jet Propulsion Laboratory (JPL), California Institute of Technology
- latitude :
- 28.45
- longitude :
- 84.45
- proj_polygon :
- [[200000, 3100000], [225000.0, 3100000.0], [250000.0, 3100000.0], [275000.0, 3100000.0], [300000, 3100000], [300000.0, 3125000.0], [300000.0, 3150000.0], [300000.0, 3175000.0], [300000, 3200000], [275000.0, 3200000.0], [250000.0, 3200000.0], [225000.0, 3200000.0], [200000, 3200000], [200000.0, 3175000.0], [200000.0, 3150000.0], [200000.0, 3125000.0], [200000, 3100000]]
- projection :
- 32645
- s3 :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
- skipped_granules :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.json
- time_standard_img1 :
- UTC
- time_standard_img2 :
- UTC
- title :
- ITS_LIVE datacube of image_pair velocities
- url :
- https://its-live-data.s3.amazonaws.com/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
When we read in the zarr datacube as a xr.Dataset we set the chunk sizes to auto. When we try to sort along the mid_date dimension this seems to become a problem and we get the warning above.
At first it makes sense to follow the instructions in the warning message to avoid creating large chunks, but this creates some issues. If you want, turn the cell below to code and run it, you can see that this re-chunks the time dimension which isn’t something that we want
import dask with dask.config.set(**{‘array.slicing.split_large_chunks’: True}): dc_timesorted_false = dc.sortby(dc[‘mid_date’]) dc_timesorted_false
dc_timesorted
<xarray.Dataset>
Dimensions: (mid_date: 20549, y: 833, x: 833)
Coordinates:
* mid_date (mid_date) datetime64[ns] 2013-04-09T16:49:00....
* x (x) float64 2.001e+05 2.002e+05 ... 2.999e+05
* y (y) float64 3.2e+06 3.2e+06 ... 3.1e+06 3.1e+06
Data variables: (12/54)
acquisition_date_img1 (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
acquisition_date_img2 (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
autoRIFT_software_version (mid_date) <U5 dask.array<chunksize=(20549,), meta=np.ndarray>
chip_size_height (mid_date, y, x) float32 dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
chip_size_width (mid_date, y, x) float32 dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
date_center (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
... ...
vy_error_mask (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_error_modeled (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_error_slow (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift_mask (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift_slow (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
Attributes: (12/18)
GDAL_AREA_OR_POINT: Area
author: ITS_LIVE, a NASA MEaSUREs project (its-live.j...
autoRIFT_parameter_file: http://its-live-data.s3.amazonaws.com/autorif...
datacube_software_version: 1.0
date_created: 09-Jun-2022 04:14:40
date_updated: 09-Jun-2022 04:14:40
... ...
s3: s3://its-live-data/datacubes/v02/N20E080/ITS_...
skipped_granules: s3://its-live-data/datacubes/v02/N20E080/ITS_...
time_standard_img1: UTC
time_standard_img2: UTC
title: ITS_LIVE datacube of image_pair velocities
url: https://its-live-data.s3.amazonaws.com/datacu...- mid_date: 20549
- y: 833
- x: 833
- mid_date(mid_date)datetime64[ns]2013-04-09T16:49:00.528084992 .....
- description :
- midpoint of image 1 and image 2 acquisition date and time with granule's centroid longitude and latitude as microseconds
- standard_name :
- image_pair_center_date_with_time_separation
array(['2013-04-09T16:49:00.528084992', '2013-04-23T04:55:55.528083968', '2013-04-25T16:49:09.528084992', ..., '2022-04-20T05:10:57.028083968', '2022-04-22T17:10:38.029083904', '2022-04-22T17:10:53.028083968'], dtype='datetime64[ns]') - x(x)float642.001e+05 2.002e+05 ... 2.999e+05
- description :
- x coordinate of projection
- standard_name :
- projection_x_coordinate
array([200092.5, 200212.5, 200332.5, ..., 299692.5, 299812.5, 299932.5])
- y(y)float643.2e+06 3.2e+06 ... 3.1e+06 3.1e+06
- description :
- y coordinate of projection
- standard_name :
- projection_y_coordinate
array([3199867.5, 3199747.5, 3199627.5, ..., 3100267.5, 3100147.5, 3100027.5])
- acquisition_date_img1(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- acquisition date and time of image 1
- standard_name :
- image1_acquition_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - acquisition_date_img2(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- acquisition date and time of image 2
- standard_name :
- image2_acquition_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - autoRIFT_software_version(mid_date)<U5dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- version of autoRIFT software
- standard_name :
- autoRIFT_software_version
Array Chunk Bytes 401.35 kiB 401.35 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - chip_size_height(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- height of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_height
- units :
- m
- y_pixel_size :
- 10.0
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - chip_size_width(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- width of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_width
- units :
- m
- x_pixel_size :
- 10.0
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - date_center(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- midpoint of image 1 and image 2 acquisition date
- standard_name :
- image_pair_center_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - date_dt(mid_date)timedelta64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- time separation between acquisition of image 1 and image 2
- standard_name :
- image_pair_time_separation
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type timedelta64[ns] numpy.ndarray - granule_url(mid_date)<U235dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- original granule URL
- standard_name :
- granule_url
Array Chunk Bytes 18.42 MiB 18.42 MiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - interp_mask(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- light interpolation mask
- grid_mapping :
- mapping
- standard_name :
- interpolated_value_mask
- units :
- binary
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - mapping()<U1...
- CoordinateAxisTypes :
- GeoX GeoY
- CoordinateTransformType :
- Projection
- GeoTransform :
- 200032.5 120.0 0 3199927.5 0 -120.0
- grid_mapping_name :
- universal_transverse_mercator
- inverse_flattening :
- 298.257223563
- semi_major_axis :
- 6378137.0
- spatial_epsg :
- 32645
- spatial_proj4 :
- +proj=utm +zone=45 +datum=WGS84 +units=m +no_defs
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
- utm_zone_number :
- 45.0
array('', dtype='<U1') - mission_img1(mid_date)<U1dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the mission that acquired image 1
- standard_name :
- image1_mission
Array Chunk Bytes 80.27 kiB 80.27 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - mission_img2(mid_date)<U1dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the mission that acquired image 2
- standard_name :
- image2_mission
Array Chunk Bytes 80.27 kiB 80.27 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - roi_valid_percentage(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- percentage of pixels with a valid velocity estimate determined for the intersection of the full image pair footprint and the region of interest (roi) that defines where autoRIFT tried to estimate a velocity
- standard_name :
- region_of_interest_valid_pixel_percentage
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - satellite_img1(mid_date)<U2dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 1
- standard_name :
- image1_satellite
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - satellite_img2(mid_date)<U2dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 2
- standard_name :
- image2_satellite
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - sensor_img1(mid_date)<U3dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 1
- standard_name :
- image1_sensor
Array Chunk Bytes 240.81 kiB 240.81 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - sensor_img2(mid_date)<U3dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 2
- standard_name :
- image2_sensor
Array Chunk Bytes 240.81 kiB 240.81 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type numpy.ndarray - stable_count_mask(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- number of valid pixels over stationary or slow-flowing surfaces
- standard_name :
- stable_count_mask
- units :
- count
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type int64 numpy.ndarray - stable_count_slow(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- number of valid pixels over slowest 25% of ice
- standard_name :
- stable_count_slow
- units :
- count
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type int64 numpy.ndarray - stable_shift_flag(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- flag for applying velocity bias correction: 0 = no correction; 1 = correction from overlapping stable surface mask (stationary or slow-flowing surfaces with velocity < 15 m/yr)(top priority); 2 = correction from slowest 25% of overlapping velocities (second priority)
- standard_name :
- stable_shift_flag
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type int64 numpy.ndarray - v(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity magnitude
- grid_mapping :
- mapping
- standard_name :
- velocity
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - v_error(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity magnitude error
- grid_mapping :
- mapping
- standard_name :
- velocity_error
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - va(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity in radar azimuth direction
- grid_mapping :
- mapping
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - va_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- error for velocity in radar azimuth direction
- standard_name :
- va_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- va_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- va_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied va shift calibrated using pixels over stable or slow surfaces
- standard_name :
- va_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- va_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity in radar range direction
- grid_mapping :
- mapping
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - vr_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- error for velocity in radar range direction
- standard_name :
- vr_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vr_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vr_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vr shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vr_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vr_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity component in x direction
- grid_mapping :
- mapping
- standard_name :
- x_velocity
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - vx_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- best estimate of x_velocity error: vx_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vx_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vx_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vx_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vx shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vx_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vx_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy(mid_date, y, x)float32dask.array<chunksize=(20549, 40, 40), meta=np.ndarray>
- description :
- velocity component in y direction
- grid_mapping :
- mapping
- standard_name :
- y_velocity
- units :
- m/y
Array Chunk Bytes 53.12 GiB 125.42 MiB Shape (20549, 833, 833) (20549, 40, 40) Count 883 Tasks 441 Chunks Type float32 numpy.ndarray - vy_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- best estimate of y_velocity error: vy_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vy_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vy_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vy_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vy shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vy_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vy_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 4 Tasks 1 Chunks Type float64 numpy.ndarray
- GDAL_AREA_OR_POINT :
- Area
- author :
- ITS_LIVE, a NASA MEaSUREs project (its-live.jpl.nasa.gov)
- autoRIFT_parameter_file :
- http://its-live-data.s3.amazonaws.com/autorift_parameters/v001/autorift_landice_0120m.shp
- datacube_software_version :
- 1.0
- date_created :
- 09-Jun-2022 04:14:40
- date_updated :
- 09-Jun-2022 04:14:40
- geo_polygon :
- [[83.94987110174335, 27.991402051034683], [84.20379020129273, 27.996804232037185], [84.45777661714104, 28.001738278786444], [84.71182426076075, 28.00620374995722], [84.96592703474772, 28.01020024594077], [84.96166371314177, 28.235735560542437], [84.95735092626452, 28.46126283461518], [84.9529882277544, 28.686782021725538], [84.94857516388325, 28.912293075803735], [84.69230915033022, 28.90814426439164], [84.43610029091587, 28.903508617931795], [84.17995490589726, 28.898386555855694], [83.92387930602281, 28.892778541374547], [83.9304896768754, 28.66744768772876], [83.9370246495942, 28.44210795053903], [83.9434849022056, 28.216759386124536], [83.94987110174335, 27.991402051034683]]
- institution :
- NASA Jet Propulsion Laboratory (JPL), California Institute of Technology
- latitude :
- 28.45
- longitude :
- 84.45
- proj_polygon :
- [[200000, 3100000], [225000.0, 3100000.0], [250000.0, 3100000.0], [275000.0, 3100000.0], [300000, 3100000], [300000.0, 3125000.0], [300000.0, 3150000.0], [300000.0, 3175000.0], [300000, 3200000], [275000.0, 3200000.0], [250000.0, 3200000.0], [225000.0, 3200000.0], [200000, 3200000], [200000.0, 3175000.0], [200000.0, 3150000.0], [200000.0, 3125000.0], [200000, 3100000]]
- projection :
- 32645
- s3 :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
- skipped_granules :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.json
- time_standard_img1 :
- UTC
- time_standard_img2 :
- UTC
- title :
- ITS_LIVE datacube of image_pair velocities
- url :
- https://its-live-data.s3.amazonaws.com/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
for element in range(10):
print(dc_timesorted.mid_date[element].data)
2013-04-09T16:49:00.528084992
2013-04-23T04:55:55.528083968
2013-04-25T16:49:09.528084992
2013-05-01T04:56:02.028083968
2013-05-03T16:49:08.028084992
2013-05-09T04:56:00.528083968
2013-05-09T04:56:03.528083968
2013-05-10T04:49:51.028084992
2013-05-17T04:56:02.028083968
2013-05-18T04:49:49.528084992
Read in vector data¶
We are going to read in RGI region 15 (SouthAsiaEast). RGI data is downloaded in lat/lon coordinates. We will project it to match the CRS of the ITS_LIVE dataset and then select an individual glacier to begin our analysis.
se_asia = gpd.read_file('/Users/emarshall/Desktop/siparcs/data/nsidc0770_15.rgi60.SouthAsiaEast/15_rgi60_SouthAsiaEast.shp')
se_asia.head(3)
| RGIId | GLIMSId | BgnDate | EndDate | CenLon | CenLat | O1Region | O2Region | Area | Zmin | ... | Aspect | Lmax | Status | Connect | Form | TermType | Surging | Linkages | Name | geometry | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | RGI60-15.00001 | G102044E29941N | 19990920 | -9999999 | 102.044042 | 29.941000 | 15 | 3 | 0.438 | 4996 | ... | 251 | 850 | 0 | 0 | 0 | 0 | 9 | 9 | None | POLYGON ((102.03759 29.93828, 102.03759 29.938... |
| 1 | RGI60-15.00002 | G102042E29987N | 19990920 | -9999999 | 102.042346 | 29.987019 | 15 | 3 | 0.644 | 4947 | ... | 244 | 1021 | 0 | 0 | 0 | 0 | 9 | 9 | None | POLYGON ((102.04195 29.99030, 102.04197 29.990... |
| 2 | RGI60-15.00003 | G102041E29997N | 19990920 | -9999999 | 102.041130 | 29.997311 | 15 | 3 | 0.225 | 5019 | ... | 274 | 812 | 0 | 0 | 0 | 0 | 9 | 9 | None | POLYGON ((102.03710 29.99774, 102.03719 29.998... |
3 rows × 23 columns
#project rgi data to match itslive
#we know the epsg from looking at the 'spatial epsg' attr of the mapping var of the dc object
se_asia_prj = se_asia.to_crs('EPSG:32645')
se_asia_prj.head(3)
| RGIId | GLIMSId | BgnDate | EndDate | CenLon | CenLat | O1Region | O2Region | Area | Zmin | ... | Aspect | Lmax | Status | Connect | Form | TermType | Surging | Linkages | Name | geometry | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | RGI60-15.00001 | G102044E29941N | 19990920 | -9999999 | 102.044042 | 29.941000 | 15 | 3 | 0.438 | 4996 | ... | 251 | 850 | 0 | 0 | 0 | 0 | 9 | 9 | None | POLYGON ((1959630.570 3408951.748, 1959630.394... |
| 1 | RGI60-15.00002 | G102042E29987N | 19990920 | -9999999 | 102.042346 | 29.987019 | 15 | 3 | 0.644 | 4947 | ... | 244 | 1021 | 0 | 0 | 0 | 0 | 9 | 9 | None | POLYGON ((1959271.126 3414873.173, 1959273.308... |
| 2 | RGI60-15.00003 | G102041E29997N | 19990920 | -9999999 | 102.041130 | 29.997311 | 15 | 3 | 0.225 | 5019 | ... | 274 | 812 | 0 | 0 | 0 | 0 | 9 | 9 | None | POLYGON ((1958682.136 3415647.929, 1958684.710... |
3 rows × 23 columns
Crop RGI to ITS_LIVE extent¶
is there a way to call
get_bbox_single()without the plot output?
#first, get vector bbox of itslive
bbox_dc = itslivetools.get_bbox_single(dc)
bbox_dc['geometry']
0 POLYGON ((83.95080 27.99167, 84.96524 28.01044...
Name: geometry, dtype: geometry
#project from latlon to local utm
bbox_dc = bbox_dc.to_crs('EPSG:32645')
bbox_dc
| geometry | |
|---|---|
| 0 | POLYGON ((200092.500 3100027.500, 299932.500 3... |
#subset rgi to bounds
se_asia_subset = gpd.clip(se_asia_prj, bbox_dc)
se_asia_subset
se_asia_subset.explore()
sample_glacier_vec = se_asia_subset.loc[se_asia_subset['RGIId'] == 'RGI60-15.04714']
sample_glacier_vec
| RGIId | GLIMSId | BgnDate | EndDate | CenLon | CenLat | O1Region | O2Region | Area | Zmin | ... | Aspect | Lmax | Status | Connect | Form | TermType | Surging | Linkages | Name | geometry | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4713 | RGI60-15.04714 | G084393E28743N | 20010929 | -9999999 | 84.392609 | 28.743019 | 15 | 1 | 13.593 | 4481 | ... | 317 | 12292 | 0 | 0 | 0 | 0 | 9 | 9 | None | POLYGON ((242056.441 3181919.463, 242008.653 3... |
1 rows × 23 columns
Clip ITS_LIVE dataset to individual glacier extent¶
First, we need to use rio.write_crs() to assign a CRS to the itslive object. If we don’t do that first the rio.clip() command will produce an error
Note: it looks like you can only run write_crs() once, because it switches mapping from being a data_var to a coord so if you run it again it will produce a key error looking for a var that doesnt’ exist
dc_timesorted = dc_timesorted.rio.write_crs(f"epsg:{dc_timesorted.mapping.attrs['spatial_epsg']}", inplace=True)
%%time
sample_glacier_raster = dc_timesorted.rio.clip(sample_glacier_vec.geometry, sample_glacier_vec.crs)
CPU times: user 423 ms, sys: 14.6 ms, total: 437 ms
Wall time: 440 ms
Take a look at the clipped object:
sample_glacier_raster
<xarray.Dataset>
Dimensions: (mid_date: 20549, y: 54, x: 100)
Coordinates:
mapping int64 0
* mid_date (mid_date) datetime64[ns] 2013-04-09T16:49:00....
* y (y) float64 3.188e+06 3.188e+06 ... 3.182e+06
* x (x) float64 2.36e+05 2.361e+05 ... 2.479e+05
Data variables: (12/53)
acquisition_date_img1 (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
acquisition_date_img2 (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
autoRIFT_software_version (mid_date) <U5 dask.array<chunksize=(20549,), meta=np.ndarray>
chip_size_height (mid_date, y, x) float32 dask.array<chunksize=(20549, 20, 21), meta=np.ndarray>
chip_size_width (mid_date, y, x) float32 dask.array<chunksize=(20549, 20, 21), meta=np.ndarray>
date_center (mid_date) datetime64[ns] dask.array<chunksize=(20549,), meta=np.ndarray>
... ...
vy_error_mask (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_error_modeled (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_error_slow (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift_mask (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
vy_stable_shift_slow (mid_date) float64 dask.array<chunksize=(20549,), meta=np.ndarray>
Attributes: (12/18)
GDAL_AREA_OR_POINT: Area
author: ITS_LIVE, a NASA MEaSUREs project (its-live.j...
autoRIFT_parameter_file: http://its-live-data.s3.amazonaws.com/autorif...
datacube_software_version: 1.0
date_created: 09-Jun-2022 04:14:40
date_updated: 09-Jun-2022 04:14:40
... ...
s3: s3://its-live-data/datacubes/v02/N20E080/ITS_...
skipped_granules: s3://its-live-data/datacubes/v02/N20E080/ITS_...
time_standard_img1: UTC
time_standard_img2: UTC
title: ITS_LIVE datacube of image_pair velocities
url: https://its-live-data.s3.amazonaws.com/datacu...- mid_date: 20549
- y: 54
- x: 100
- mapping()int640
- crs_wkt :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984
- projected_crs_name :
- WGS 84 / UTM zone 45N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- 87.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
array(0)
- mid_date(mid_date)datetime64[ns]2013-04-09T16:49:00.528084992 .....
- description :
- midpoint of image 1 and image 2 acquisition date and time with granule's centroid longitude and latitude as microseconds
- standard_name :
- image_pair_center_date_with_time_separation
array(['2013-04-09T16:49:00.528084992', '2013-04-23T04:55:55.528083968', '2013-04-25T16:49:09.528084992', ..., '2022-04-20T05:10:57.028083968', '2022-04-22T17:10:38.029083904', '2022-04-22T17:10:53.028083968'], dtype='datetime64[ns]') - y(y)float643.188e+06 3.188e+06 ... 3.182e+06
- description :
- y coordinate of projection
- standard_name :
- projection_y_coordinate
- axis :
- Y
- long_name :
- y coordinate of projection
- units :
- metre
array([3187867.5, 3187747.5, 3187627.5, 3187507.5, 3187387.5, 3187267.5, 3187147.5, 3187027.5, 3186907.5, 3186787.5, 3186667.5, 3186547.5, 3186427.5, 3186307.5, 3186187.5, 3186067.5, 3185947.5, 3185827.5, 3185707.5, 3185587.5, 3185467.5, 3185347.5, 3185227.5, 3185107.5, 3184987.5, 3184867.5, 3184747.5, 3184627.5, 3184507.5, 3184387.5, 3184267.5, 3184147.5, 3184027.5, 3183907.5, 3183787.5, 3183667.5, 3183547.5, 3183427.5, 3183307.5, 3183187.5, 3183067.5, 3182947.5, 3182827.5, 3182707.5, 3182587.5, 3182467.5, 3182347.5, 3182227.5, 3182107.5, 3181987.5, 3181867.5, 3181747.5, 3181627.5, 3181507.5]) - x(x)float642.36e+05 2.361e+05 ... 2.479e+05
- description :
- x coordinate of projection
- standard_name :
- projection_x_coordinate
- axis :
- X
- long_name :
- x coordinate of projection
- units :
- metre
array([235972.5, 236092.5, 236212.5, 236332.5, 236452.5, 236572.5, 236692.5, 236812.5, 236932.5, 237052.5, 237172.5, 237292.5, 237412.5, 237532.5, 237652.5, 237772.5, 237892.5, 238012.5, 238132.5, 238252.5, 238372.5, 238492.5, 238612.5, 238732.5, 238852.5, 238972.5, 239092.5, 239212.5, 239332.5, 239452.5, 239572.5, 239692.5, 239812.5, 239932.5, 240052.5, 240172.5, 240292.5, 240412.5, 240532.5, 240652.5, 240772.5, 240892.5, 241012.5, 241132.5, 241252.5, 241372.5, 241492.5, 241612.5, 241732.5, 241852.5, 241972.5, 242092.5, 242212.5, 242332.5, 242452.5, 242572.5, 242692.5, 242812.5, 242932.5, 243052.5, 243172.5, 243292.5, 243412.5, 243532.5, 243652.5, 243772.5, 243892.5, 244012.5, 244132.5, 244252.5, 244372.5, 244492.5, 244612.5, 244732.5, 244852.5, 244972.5, 245092.5, 245212.5, 245332.5, 245452.5, 245572.5, 245692.5, 245812.5, 245932.5, 246052.5, 246172.5, 246292.5, 246412.5, 246532.5, 246652.5, 246772.5, 246892.5, 247012.5, 247132.5, 247252.5, 247372.5, 247492.5, 247612.5, 247732.5, 247852.5])
- acquisition_date_img1(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- acquisition date and time of image 1
- standard_name :
- image1_acquition_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - acquisition_date_img2(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- acquisition date and time of image 2
- standard_name :
- image2_acquition_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - autoRIFT_software_version(mid_date)<U5dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- version of autoRIFT software
- standard_name :
- autoRIFT_software_version
Array Chunk Bytes 401.35 kiB 401.35 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type numpy.ndarray - chip_size_height(mid_date, y, x)float32dask.array<chunksize=(20549, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- height of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_height
- units :
- m
- y_pixel_size :
- 10.0
Array Chunk Bytes 423.30 MiB 106.61 MiB Shape (20549, 54, 100) (20549, 34, 40) Count 2213 Tasks 6 Chunks Type float32 numpy.ndarray - chip_size_width(mid_date, y, x)float32dask.array<chunksize=(20549, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- width of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_width
- units :
- m
- x_pixel_size :
- 10.0
Array Chunk Bytes 423.30 MiB 106.61 MiB Shape (20549, 54, 100) (20549, 34, 40) Count 2213 Tasks 6 Chunks Type float32 numpy.ndarray - date_center(mid_date)datetime64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- midpoint of image 1 and image 2 acquisition date
- standard_name :
- image_pair_center_date
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - date_dt(mid_date)timedelta64[ns]dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- time separation between acquisition of image 1 and image 2
- standard_name :
- image_pair_time_separation
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type timedelta64[ns] numpy.ndarray - granule_url(mid_date)<U235dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- original granule URL
- standard_name :
- granule_url
Array Chunk Bytes 18.42 MiB 18.42 MiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type numpy.ndarray - interp_mask(mid_date, y, x)float32dask.array<chunksize=(20549, 20, 21), meta=np.ndarray>
- description :
- light interpolation mask
- grid_mapping :
- mapping
- standard_name :
- interpolated_value_mask
- units :
- binary
Array Chunk Bytes 423.30 MiB 106.61 MiB Shape (20549, 54, 100) (20549, 34, 40) Count 2213 Tasks 6 Chunks Type float32 numpy.ndarray - mission_img1(mid_date)<U1dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the mission that acquired image 1
- standard_name :
- image1_mission
Array Chunk Bytes 80.27 kiB 80.27 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type numpy.ndarray - mission_img2(mid_date)<U1dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the mission that acquired image 2
- standard_name :
- image2_mission
Array Chunk Bytes 80.27 kiB 80.27 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type numpy.ndarray - roi_valid_percentage(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- percentage of pixels with a valid velocity estimate determined for the intersection of the full image pair footprint and the region of interest (roi) that defines where autoRIFT tried to estimate a velocity
- standard_name :
- region_of_interest_valid_pixel_percentage
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - satellite_img1(mid_date)<U2dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 1
- standard_name :
- image1_satellite
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type numpy.ndarray - satellite_img2(mid_date)<U2dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 2
- standard_name :
- image2_satellite
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type numpy.ndarray - sensor_img1(mid_date)<U3dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 1
- standard_name :
- image1_sensor
Array Chunk Bytes 240.81 kiB 240.81 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type numpy.ndarray - sensor_img2(mid_date)<U3dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 2
- standard_name :
- image2_sensor
Array Chunk Bytes 240.81 kiB 240.81 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type numpy.ndarray - stable_count_mask(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- number of valid pixels over stationary or slow-flowing surfaces
- standard_name :
- stable_count_mask
- units :
- count
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type int64 numpy.ndarray - stable_count_slow(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- number of valid pixels over slowest 25% of ice
- standard_name :
- stable_count_slow
- units :
- count
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type int64 numpy.ndarray - stable_shift_flag(mid_date)int64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- flag for applying velocity bias correction: 0 = no correction; 1 = correction from overlapping stable surface mask (stationary or slow-flowing surfaces with velocity < 15 m/yr)(top priority); 2 = correction from slowest 25% of overlapping velocities (second priority)
- standard_name :
- stable_shift_flag
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type int64 numpy.ndarray - v(mid_date, y, x)float32dask.array<chunksize=(20549, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude
- grid_mapping :
- mapping
- standard_name :
- velocity
- units :
- m/y
Array Chunk Bytes 423.30 MiB 106.61 MiB Shape (20549, 54, 100) (20549, 34, 40) Count 2213 Tasks 6 Chunks Type float32 numpy.ndarray - v_error(mid_date, y, x)float32dask.array<chunksize=(20549, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude error
- grid_mapping :
- mapping
- standard_name :
- velocity_error
- units :
- m/y
Array Chunk Bytes 423.30 MiB 106.61 MiB Shape (20549, 54, 100) (20549, 34, 40) Count 2213 Tasks 6 Chunks Type float32 numpy.ndarray - va(mid_date, y, x)float32dask.array<chunksize=(20549, 20, 21), meta=np.ndarray>
- description :
- velocity in radar azimuth direction
- grid_mapping :
- mapping
Array Chunk Bytes 423.30 MiB 106.61 MiB Shape (20549, 54, 100) (20549, 34, 40) Count 2213 Tasks 6 Chunks Type float32 numpy.ndarray - va_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- error for velocity in radar azimuth direction
- standard_name :
- va_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- va_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- va_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied va shift calibrated using pixels over stable or slow surfaces
- standard_name :
- va_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- va_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vr(mid_date, y, x)float32dask.array<chunksize=(20549, 20, 21), meta=np.ndarray>
- description :
- velocity in radar range direction
- grid_mapping :
- mapping
Array Chunk Bytes 423.30 MiB 106.61 MiB Shape (20549, 54, 100) (20549, 34, 40) Count 2213 Tasks 6 Chunks Type float32 numpy.ndarray - vr_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- error for velocity in radar range direction
- standard_name :
- vr_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vr_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vr_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vr shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vr_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vr_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vx(mid_date, y, x)float32dask.array<chunksize=(20549, 20, 21), meta=np.ndarray>
- description :
- velocity component in x direction
- grid_mapping :
- mapping
- standard_name :
- x_velocity
- units :
- m/y
Array Chunk Bytes 423.30 MiB 106.61 MiB Shape (20549, 54, 100) (20549, 34, 40) Count 2213 Tasks 6 Chunks Type float32 numpy.ndarray - vx_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- best estimate of x_velocity error: vx_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vx_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vx_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vx_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vx shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vx_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vx_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vy(mid_date, y, x)float32dask.array<chunksize=(20549, 20, 21), meta=np.ndarray>
- description :
- velocity component in y direction
- grid_mapping :
- mapping
- standard_name :
- y_velocity
- units :
- m/y
Array Chunk Bytes 423.30 MiB 106.61 MiB Shape (20549, 54, 100) (20549, 34, 40) Count 2213 Tasks 6 Chunks Type float32 numpy.ndarray - vy_error(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- best estimate of y_velocity error: vy_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vy_error
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_error_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_modeled(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vy_error_modeled
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vy_error_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- applied vy shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vy_stable_shift
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_mask(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_slow(mid_date)float64dask.array<chunksize=(20549,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vy_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type float64 numpy.ndarray
- GDAL_AREA_OR_POINT :
- Area
- author :
- ITS_LIVE, a NASA MEaSUREs project (its-live.jpl.nasa.gov)
- autoRIFT_parameter_file :
- http://its-live-data.s3.amazonaws.com/autorift_parameters/v001/autorift_landice_0120m.shp
- datacube_software_version :
- 1.0
- date_created :
- 09-Jun-2022 04:14:40
- date_updated :
- 09-Jun-2022 04:14:40
- geo_polygon :
- [[83.94987110174335, 27.991402051034683], [84.20379020129273, 27.996804232037185], [84.45777661714104, 28.001738278786444], [84.71182426076075, 28.00620374995722], [84.96592703474772, 28.01020024594077], [84.96166371314177, 28.235735560542437], [84.95735092626452, 28.46126283461518], [84.9529882277544, 28.686782021725538], [84.94857516388325, 28.912293075803735], [84.69230915033022, 28.90814426439164], [84.43610029091587, 28.903508617931795], [84.17995490589726, 28.898386555855694], [83.92387930602281, 28.892778541374547], [83.9304896768754, 28.66744768772876], [83.9370246495942, 28.44210795053903], [83.9434849022056, 28.216759386124536], [83.94987110174335, 27.991402051034683]]
- institution :
- NASA Jet Propulsion Laboratory (JPL), California Institute of Technology
- latitude :
- 28.45
- longitude :
- 84.45
- proj_polygon :
- [[200000, 3100000], [225000.0, 3100000.0], [250000.0, 3100000.0], [275000.0, 3100000.0], [300000, 3100000], [300000.0, 3125000.0], [300000.0, 3150000.0], [300000.0, 3175000.0], [300000, 3200000], [275000.0, 3200000.0], [250000.0, 3200000.0], [225000.0, 3200000.0], [200000, 3200000], [200000.0, 3175000.0], [200000.0, 3150000.0], [200000.0, 3125000.0], [200000, 3100000]]
- projection :
- 32645
- s3 :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
- skipped_granules :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.json
- time_standard_img1 :
- UTC
- time_standard_img2 :
- UTC
- title :
- ITS_LIVE datacube of image_pair velocities
- url :
- https://its-live-data.s3.amazonaws.com/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
Let’s take a look at the clipped raster alongside the vector outline. To start with and for the sake of easy visualizing we will take the mean of the magnitude of velocity variable along the mid_date dimension:
fig, ax = plt.subplots(figsize = (15,9))
sample_glacier_vec.plot(ax=ax, facecolor='none', edgecolor='red');
sample_glacier_raster.v.mean(dim=['mid_date']).plot(ax=ax);
Now let’s take a look at the x and y components of velocity, again averaging over time:
fig, axs = plt.subplots(ncols =2, figsize=(17,7))
sample_glacier_raster.vx.mean(dim='mid_date').plot(ax=axs[0]);
sample_glacier_raster.vy.mean(dim='mid_date').plot(ax=axs[1]);
sample_glacier_raster.v_error.mean(dim=['mid_date']).plot();
Exploring ITS_LIVE data¶
ITS_LIVE data cubes come with many (53!) variables that carry information about the estimated surface velocities and the satellite images that were used to generate the surface velocity estimates. We won’t examine all of this information here but let’s look at a litte bit.
To start with, let’s look at the satellite imagery used to generate the velocity data.
We see that we have two data_vars that indicate which sensor that each image in the image pair at a certain time step comes from:
sample_glacier_raster.satellite_img1.data.compute()
array(['8.', '8.', '8.', ..., '2A', '2B', '2B'], dtype='<U2')
sample_glacier_raster.satellite_img2
<xarray.DataArray 'satellite_img2' (mid_date: 20549)>
dask.array<copy, shape=(20549,), dtype=<U2, chunksize=(20549,), chunktype=numpy.ndarray>
Coordinates:
mapping int64 0
* mid_date (mid_date) datetime64[ns] 2013-04-09T16:49:00.528084992 ... 202...
Attributes:
description: id of the satellite that acquired image 2
standard_name: image2_satellite- mid_date: 20549
- dask.array<chunksize=(20549,), meta=np.ndarray>
Array Chunk Bytes 160.54 kiB 160.54 kiB Shape (20549,) (20549,) Count 5 Tasks 1 Chunks Type numpy.ndarray - mapping()int640
- crs_wkt :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984
- projected_crs_name :
- WGS 84 / UTM zone 45N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- 87.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
array(0)
- mid_date(mid_date)datetime64[ns]2013-04-09T16:49:00.528084992 .....
- description :
- midpoint of image 1 and image 2 acquisition date and time with granule's centroid longitude and latitude as microseconds
- standard_name :
- image_pair_center_date_with_time_separation
array(['2013-04-09T16:49:00.528084992', '2013-04-23T04:55:55.528083968', '2013-04-25T16:49:09.528084992', ..., '2022-04-20T05:10:57.028083968', '2022-04-22T17:10:38.029083904', '2022-04-22T17:10:53.028083968'], dtype='datetime64[ns]')
- description :
- id of the satellite that acquired image 2
- standard_name :
- image2_satellite
The satellite_img1 and satellite_img2 variables are 1-dimensional numpy arrays corresponding to the length of the mid_date dimension of the data cube. You can see that each element of the array is a string corresponding to a different satellite:
1A = Sentinel 1A, 1B = Sentinel 1B, 2A = Sentinel 2A
2B = Sentinel 2B, 8. = Landsat8 and 9. = Landsat9
Let’s re-arrange these string arrays into a format that is easier to work with.
First, we’ll make a set of all the different string values in the satellite image variables:
Examining velocity data from each satellite in ITS_LIVE dataset¶
What if we only wanted to look at the velocity estimates from landat8?
l8_data = sample_glacier_raster.where(sample_glacier_raster['satellite_img1'] == '8.', drop=True)
l8_data
<xarray.Dataset>
Dimensions: (mid_date: 7257, y: 54, x: 100)
Coordinates:
mapping int64 0
* mid_date (mid_date) datetime64[ns] 2013-04-09T16:49:00....
* y (y) float64 3.188e+06 3.188e+06 ... 3.182e+06
* x (x) float64 2.36e+05 2.361e+05 ... 2.479e+05
Data variables: (12/53)
acquisition_date_img1 (mid_date) datetime64[ns] dask.array<chunksize=(7257,), meta=np.ndarray>
acquisition_date_img2 (mid_date) datetime64[ns] dask.array<chunksize=(7257,), meta=np.ndarray>
autoRIFT_software_version (mid_date) object dask.array<chunksize=(7257,), meta=np.ndarray>
chip_size_height (mid_date, y, x) float32 dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
chip_size_width (mid_date, y, x) float32 dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
date_center (mid_date) datetime64[ns] dask.array<chunksize=(7257,), meta=np.ndarray>
... ...
vy_error_mask (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
vy_error_modeled (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
vy_error_slow (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
vy_stable_shift (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
vy_stable_shift_mask (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
vy_stable_shift_slow (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
Attributes: (12/18)
GDAL_AREA_OR_POINT: Area
author: ITS_LIVE, a NASA MEaSUREs project (its-live.j...
autoRIFT_parameter_file: http://its-live-data.s3.amazonaws.com/autorif...
datacube_software_version: 1.0
date_created: 09-Jun-2022 04:14:40
date_updated: 09-Jun-2022 04:14:40
... ...
s3: s3://its-live-data/datacubes/v02/N20E080/ITS_...
skipped_granules: s3://its-live-data/datacubes/v02/N20E080/ITS_...
time_standard_img1: UTC
time_standard_img2: UTC
title: ITS_LIVE datacube of image_pair velocities
url: https://its-live-data.s3.amazonaws.com/datacu...- mid_date: 7257
- y: 54
- x: 100
- mapping()int640
- crs_wkt :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984
- projected_crs_name :
- WGS 84 / UTM zone 45N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- 87.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
array(0)
- mid_date(mid_date)datetime64[ns]2013-04-09T16:49:00.528084992 .....
- description :
- midpoint of image 1 and image 2 acquisition date and time with granule's centroid longitude and latitude as microseconds
- standard_name :
- image_pair_center_date_with_time_separation
array(['2013-04-09T16:49:00.528084992', '2013-04-23T04:55:55.528083968', '2013-04-25T16:49:09.528084992', ..., '2022-01-26T04:54:18.150754816', '2022-01-30T04:54:20.986952960', '2022-02-07T04:54:18.845935104'], dtype='datetime64[ns]') - y(y)float643.188e+06 3.188e+06 ... 3.182e+06
- description :
- y coordinate of projection
- standard_name :
- projection_y_coordinate
- axis :
- Y
- long_name :
- y coordinate of projection
- units :
- metre
array([3187867.5, 3187747.5, 3187627.5, 3187507.5, 3187387.5, 3187267.5, 3187147.5, 3187027.5, 3186907.5, 3186787.5, 3186667.5, 3186547.5, 3186427.5, 3186307.5, 3186187.5, 3186067.5, 3185947.5, 3185827.5, 3185707.5, 3185587.5, 3185467.5, 3185347.5, 3185227.5, 3185107.5, 3184987.5, 3184867.5, 3184747.5, 3184627.5, 3184507.5, 3184387.5, 3184267.5, 3184147.5, 3184027.5, 3183907.5, 3183787.5, 3183667.5, 3183547.5, 3183427.5, 3183307.5, 3183187.5, 3183067.5, 3182947.5, 3182827.5, 3182707.5, 3182587.5, 3182467.5, 3182347.5, 3182227.5, 3182107.5, 3181987.5, 3181867.5, 3181747.5, 3181627.5, 3181507.5]) - x(x)float642.36e+05 2.361e+05 ... 2.479e+05
- description :
- x coordinate of projection
- standard_name :
- projection_x_coordinate
- axis :
- X
- long_name :
- x coordinate of projection
- units :
- metre
array([235972.5, 236092.5, 236212.5, 236332.5, 236452.5, 236572.5, 236692.5, 236812.5, 236932.5, 237052.5, 237172.5, 237292.5, 237412.5, 237532.5, 237652.5, 237772.5, 237892.5, 238012.5, 238132.5, 238252.5, 238372.5, 238492.5, 238612.5, 238732.5, 238852.5, 238972.5, 239092.5, 239212.5, 239332.5, 239452.5, 239572.5, 239692.5, 239812.5, 239932.5, 240052.5, 240172.5, 240292.5, 240412.5, 240532.5, 240652.5, 240772.5, 240892.5, 241012.5, 241132.5, 241252.5, 241372.5, 241492.5, 241612.5, 241732.5, 241852.5, 241972.5, 242092.5, 242212.5, 242332.5, 242452.5, 242572.5, 242692.5, 242812.5, 242932.5, 243052.5, 243172.5, 243292.5, 243412.5, 243532.5, 243652.5, 243772.5, 243892.5, 244012.5, 244132.5, 244252.5, 244372.5, 244492.5, 244612.5, 244732.5, 244852.5, 244972.5, 245092.5, 245212.5, 245332.5, 245452.5, 245572.5, 245692.5, 245812.5, 245932.5, 246052.5, 246172.5, 246292.5, 246412.5, 246532.5, 246652.5, 246772.5, 246892.5, 247012.5, 247132.5, 247252.5, 247372.5, 247492.5, 247612.5, 247732.5, 247852.5])
- acquisition_date_img1(mid_date)datetime64[ns]dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- acquisition date and time of image 1
- standard_name :
- image1_acquition_date
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - acquisition_date_img2(mid_date)datetime64[ns]dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- acquisition date and time of image 2
- standard_name :
- image2_acquition_date
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - autoRIFT_software_version(mid_date)objectdask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- version of autoRIFT software
- standard_name :
- autoRIFT_software_version
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 17 Tasks 1 Chunks Type object numpy.ndarray - chip_size_height(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- height of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_height
- units :
- m
- y_pixel_size :
- 10.0
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2234 Tasks 6 Chunks Type float32 numpy.ndarray - chip_size_width(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- width of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_width
- units :
- m
- x_pixel_size :
- 10.0
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2234 Tasks 6 Chunks Type float32 numpy.ndarray - date_center(mid_date)datetime64[ns]dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- midpoint of image 1 and image 2 acquisition date
- standard_name :
- image_pair_center_date
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - date_dt(mid_date)timedelta64[ns]dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- time separation between acquisition of image 1 and image 2
- standard_name :
- image_pair_time_separation
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type timedelta64[ns] numpy.ndarray - granule_url(mid_date)objectdask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- original granule URL
- standard_name :
- granule_url
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 17 Tasks 1 Chunks Type object numpy.ndarray - interp_mask(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- light interpolation mask
- grid_mapping :
- mapping
- standard_name :
- interpolated_value_mask
- units :
- binary
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2234 Tasks 6 Chunks Type float32 numpy.ndarray - mission_img1(mid_date)objectdask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the mission that acquired image 1
- standard_name :
- image1_mission
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 17 Tasks 1 Chunks Type object numpy.ndarray - mission_img2(mid_date)objectdask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the mission that acquired image 2
- standard_name :
- image2_mission
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 17 Tasks 1 Chunks Type object numpy.ndarray - roi_valid_percentage(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- percentage of pixels with a valid velocity estimate determined for the intersection of the full image pair footprint and the region of interest (roi) that defines where autoRIFT tried to estimate a velocity
- standard_name :
- region_of_interest_valid_pixel_percentage
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - satellite_img1(mid_date)objectdask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 1
- standard_name :
- image1_satellite
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 12 Tasks 1 Chunks Type object numpy.ndarray - satellite_img2(mid_date)objectdask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 2
- standard_name :
- image2_satellite
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 17 Tasks 1 Chunks Type object numpy.ndarray - sensor_img1(mid_date)objectdask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 1
- standard_name :
- image1_sensor
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 17 Tasks 1 Chunks Type object numpy.ndarray - sensor_img2(mid_date)objectdask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 2
- standard_name :
- image2_sensor
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 17 Tasks 1 Chunks Type object numpy.ndarray - stable_count_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- number of valid pixels over stationary or slow-flowing surfaces
- standard_name :
- stable_count_mask
- units :
- count
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 17 Tasks 1 Chunks Type float64 numpy.ndarray - stable_count_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- number of valid pixels over slowest 25% of ice
- standard_name :
- stable_count_slow
- units :
- count
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 17 Tasks 1 Chunks Type float64 numpy.ndarray - stable_shift_flag(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- flag for applying velocity bias correction: 0 = no correction; 1 = correction from overlapping stable surface mask (stationary or slow-flowing surfaces with velocity < 15 m/yr)(top priority); 2 = correction from slowest 25% of overlapping velocities (second priority)
- standard_name :
- stable_shift_flag
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 17 Tasks 1 Chunks Type float64 numpy.ndarray - v(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude
- grid_mapping :
- mapping
- standard_name :
- velocity
- units :
- m/y
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2234 Tasks 6 Chunks Type float32 numpy.ndarray - v_error(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude error
- grid_mapping :
- mapping
- standard_name :
- velocity_error
- units :
- m/y
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2234 Tasks 6 Chunks Type float32 numpy.ndarray - va(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity in radar azimuth direction
- grid_mapping :
- mapping
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2234 Tasks 6 Chunks Type float32 numpy.ndarray - va_error(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- error for velocity in radar azimuth direction
- standard_name :
- va_error
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_error_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_modeled(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- va_error_modeled
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- va_error_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- applied va shift calibrated using pixels over stable or slow surfaces
- standard_name :
- va_stable_shift
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- va_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vr(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity in radar range direction
- grid_mapping :
- mapping
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2234 Tasks 6 Chunks Type float32 numpy.ndarray - vr_error(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- error for velocity in radar range direction
- standard_name :
- vr_error
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_error_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_modeled(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vr_error_modeled
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vr_error_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- applied vr shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vr_stable_shift
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vr_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vx(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity component in x direction
- grid_mapping :
- mapping
- standard_name :
- x_velocity
- units :
- m/y
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2234 Tasks 6 Chunks Type float32 numpy.ndarray - vx_error(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- best estimate of x_velocity error: vx_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vx_error
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_error_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_modeled(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vx_error_modeled
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vx_error_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- applied vx shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vx_stable_shift
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vx_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vy(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity component in y direction
- grid_mapping :
- mapping
- standard_name :
- y_velocity
- units :
- m/y
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2234 Tasks 6 Chunks Type float32 numpy.ndarray - vy_error(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- best estimate of y_velocity error: vy_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vy_error
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_error_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_modeled(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vy_error_modeled
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vy_error_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- applied vy shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vy_stable_shift
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vy_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 16 Tasks 1 Chunks Type float64 numpy.ndarray
- GDAL_AREA_OR_POINT :
- Area
- author :
- ITS_LIVE, a NASA MEaSUREs project (its-live.jpl.nasa.gov)
- autoRIFT_parameter_file :
- http://its-live-data.s3.amazonaws.com/autorift_parameters/v001/autorift_landice_0120m.shp
- datacube_software_version :
- 1.0
- date_created :
- 09-Jun-2022 04:14:40
- date_updated :
- 09-Jun-2022 04:14:40
- geo_polygon :
- [[83.94987110174335, 27.991402051034683], [84.20379020129273, 27.996804232037185], [84.45777661714104, 28.001738278786444], [84.71182426076075, 28.00620374995722], [84.96592703474772, 28.01020024594077], [84.96166371314177, 28.235735560542437], [84.95735092626452, 28.46126283461518], [84.9529882277544, 28.686782021725538], [84.94857516388325, 28.912293075803735], [84.69230915033022, 28.90814426439164], [84.43610029091587, 28.903508617931795], [84.17995490589726, 28.898386555855694], [83.92387930602281, 28.892778541374547], [83.9304896768754, 28.66744768772876], [83.9370246495942, 28.44210795053903], [83.9434849022056, 28.216759386124536], [83.94987110174335, 27.991402051034683]]
- institution :
- NASA Jet Propulsion Laboratory (JPL), California Institute of Technology
- latitude :
- 28.45
- longitude :
- 84.45
- proj_polygon :
- [[200000, 3100000], [225000.0, 3100000.0], [250000.0, 3100000.0], [275000.0, 3100000.0], [300000, 3100000], [300000.0, 3125000.0], [300000.0, 3150000.0], [300000.0, 3175000.0], [300000, 3200000], [275000.0, 3200000.0], [250000.0, 3200000.0], [225000.0, 3200000.0], [200000, 3200000], [200000.0, 3175000.0], [200000.0, 3150000.0], [200000.0, 3125000.0], [200000, 3100000]]
- projection :
- 32645
- s3 :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
- skipped_granules :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.json
- time_standard_img1 :
- UTC
- time_standard_img2 :
- UTC
- title :
- ITS_LIVE datacube of image_pair velocities
- url :
- https://its-live-data.s3.amazonaws.com/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
dataset.where() at first seems appropriate to use for kind of operation but there’s actually an easier way. Because we are selecting along a single dimension (mid_date), we can use xarray’s .sel() method instead. This is more efficient and integrates with dask arrays more smoothly.
l8_condition = sample_glacier_raster.satellite_img1.isin('8.')
l8_subset = sample_glacier_raster.sel(mid_date=l8_condition)
l8_subset
<xarray.Dataset>
Dimensions: (mid_date: 7257, y: 54, x: 100)
Coordinates:
mapping int64 0
* mid_date (mid_date) datetime64[ns] 2013-04-09T16:49:00....
* y (y) float64 3.188e+06 3.188e+06 ... 3.182e+06
* x (x) float64 2.36e+05 2.361e+05 ... 2.479e+05
Data variables: (12/53)
acquisition_date_img1 (mid_date) datetime64[ns] dask.array<chunksize=(7257,), meta=np.ndarray>
acquisition_date_img2 (mid_date) datetime64[ns] dask.array<chunksize=(7257,), meta=np.ndarray>
autoRIFT_software_version (mid_date) <U5 dask.array<chunksize=(7257,), meta=np.ndarray>
chip_size_height (mid_date, y, x) float32 dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
chip_size_width (mid_date, y, x) float32 dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
date_center (mid_date) datetime64[ns] dask.array<chunksize=(7257,), meta=np.ndarray>
... ...
vy_error_mask (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
vy_error_modeled (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
vy_error_slow (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
vy_stable_shift (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
vy_stable_shift_mask (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
vy_stable_shift_slow (mid_date) float64 dask.array<chunksize=(7257,), meta=np.ndarray>
Attributes: (12/18)
GDAL_AREA_OR_POINT: Area
author: ITS_LIVE, a NASA MEaSUREs project (its-live.j...
autoRIFT_parameter_file: http://its-live-data.s3.amazonaws.com/autorif...
datacube_software_version: 1.0
date_created: 09-Jun-2022 04:14:40
date_updated: 09-Jun-2022 04:14:40
... ...
s3: s3://its-live-data/datacubes/v02/N20E080/ITS_...
skipped_granules: s3://its-live-data/datacubes/v02/N20E080/ITS_...
time_standard_img1: UTC
time_standard_img2: UTC
title: ITS_LIVE datacube of image_pair velocities
url: https://its-live-data.s3.amazonaws.com/datacu...- mid_date: 7257
- y: 54
- x: 100
- mapping()int640
- crs_wkt :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984
- projected_crs_name :
- WGS 84 / UTM zone 45N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- 87.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
array(0)
- mid_date(mid_date)datetime64[ns]2013-04-09T16:49:00.528084992 .....
- description :
- midpoint of image 1 and image 2 acquisition date and time with granule's centroid longitude and latitude as microseconds
- standard_name :
- image_pair_center_date_with_time_separation
array(['2013-04-09T16:49:00.528084992', '2013-04-23T04:55:55.528083968', '2013-04-25T16:49:09.528084992', ..., '2022-01-26T04:54:18.150754816', '2022-01-30T04:54:20.986952960', '2022-02-07T04:54:18.845935104'], dtype='datetime64[ns]') - y(y)float643.188e+06 3.188e+06 ... 3.182e+06
- description :
- y coordinate of projection
- standard_name :
- projection_y_coordinate
- axis :
- Y
- long_name :
- y coordinate of projection
- units :
- metre
array([3187867.5, 3187747.5, 3187627.5, 3187507.5, 3187387.5, 3187267.5, 3187147.5, 3187027.5, 3186907.5, 3186787.5, 3186667.5, 3186547.5, 3186427.5, 3186307.5, 3186187.5, 3186067.5, 3185947.5, 3185827.5, 3185707.5, 3185587.5, 3185467.5, 3185347.5, 3185227.5, 3185107.5, 3184987.5, 3184867.5, 3184747.5, 3184627.5, 3184507.5, 3184387.5, 3184267.5, 3184147.5, 3184027.5, 3183907.5, 3183787.5, 3183667.5, 3183547.5, 3183427.5, 3183307.5, 3183187.5, 3183067.5, 3182947.5, 3182827.5, 3182707.5, 3182587.5, 3182467.5, 3182347.5, 3182227.5, 3182107.5, 3181987.5, 3181867.5, 3181747.5, 3181627.5, 3181507.5]) - x(x)float642.36e+05 2.361e+05 ... 2.479e+05
- description :
- x coordinate of projection
- standard_name :
- projection_x_coordinate
- axis :
- X
- long_name :
- x coordinate of projection
- units :
- metre
array([235972.5, 236092.5, 236212.5, 236332.5, 236452.5, 236572.5, 236692.5, 236812.5, 236932.5, 237052.5, 237172.5, 237292.5, 237412.5, 237532.5, 237652.5, 237772.5, 237892.5, 238012.5, 238132.5, 238252.5, 238372.5, 238492.5, 238612.5, 238732.5, 238852.5, 238972.5, 239092.5, 239212.5, 239332.5, 239452.5, 239572.5, 239692.5, 239812.5, 239932.5, 240052.5, 240172.5, 240292.5, 240412.5, 240532.5, 240652.5, 240772.5, 240892.5, 241012.5, 241132.5, 241252.5, 241372.5, 241492.5, 241612.5, 241732.5, 241852.5, 241972.5, 242092.5, 242212.5, 242332.5, 242452.5, 242572.5, 242692.5, 242812.5, 242932.5, 243052.5, 243172.5, 243292.5, 243412.5, 243532.5, 243652.5, 243772.5, 243892.5, 244012.5, 244132.5, 244252.5, 244372.5, 244492.5, 244612.5, 244732.5, 244852.5, 244972.5, 245092.5, 245212.5, 245332.5, 245452.5, 245572.5, 245692.5, 245812.5, 245932.5, 246052.5, 246172.5, 246292.5, 246412.5, 246532.5, 246652.5, 246772.5, 246892.5, 247012.5, 247132.5, 247252.5, 247372.5, 247492.5, 247612.5, 247732.5, 247852.5])
- acquisition_date_img1(mid_date)datetime64[ns]dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- acquisition date and time of image 1
- standard_name :
- image1_acquition_date
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - acquisition_date_img2(mid_date)datetime64[ns]dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- acquisition date and time of image 2
- standard_name :
- image2_acquition_date
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - autoRIFT_software_version(mid_date)<U5dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- version of autoRIFT software
- standard_name :
- autoRIFT_software_version
Array Chunk Bytes 141.74 kiB 141.74 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type numpy.ndarray - chip_size_height(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- height of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_height
- units :
- m
- y_pixel_size :
- 10.0
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - chip_size_width(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- width of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_width
- units :
- m
- x_pixel_size :
- 10.0
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - date_center(mid_date)datetime64[ns]dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- midpoint of image 1 and image 2 acquisition date
- standard_name :
- image_pair_center_date
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - date_dt(mid_date)timedelta64[ns]dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- time separation between acquisition of image 1 and image 2
- standard_name :
- image_pair_time_separation
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type timedelta64[ns] numpy.ndarray - granule_url(mid_date)<U235dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- original granule URL
- standard_name :
- granule_url
Array Chunk Bytes 6.51 MiB 6.51 MiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type numpy.ndarray - interp_mask(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- light interpolation mask
- grid_mapping :
- mapping
- standard_name :
- interpolated_value_mask
- units :
- binary
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - mission_img1(mid_date)<U1dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the mission that acquired image 1
- standard_name :
- image1_mission
Array Chunk Bytes 28.35 kiB 28.35 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type numpy.ndarray - mission_img2(mid_date)<U1dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the mission that acquired image 2
- standard_name :
- image2_mission
Array Chunk Bytes 28.35 kiB 28.35 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type numpy.ndarray - roi_valid_percentage(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- percentage of pixels with a valid velocity estimate determined for the intersection of the full image pair footprint and the region of interest (roi) that defines where autoRIFT tried to estimate a velocity
- standard_name :
- region_of_interest_valid_pixel_percentage
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - satellite_img1(mid_date)<U2dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 1
- standard_name :
- image1_satellite
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type numpy.ndarray - satellite_img2(mid_date)<U2dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 2
- standard_name :
- image2_satellite
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type numpy.ndarray - sensor_img1(mid_date)<U3dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 1
- standard_name :
- image1_sensor
Array Chunk Bytes 85.04 kiB 85.04 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type numpy.ndarray - sensor_img2(mid_date)<U3dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 2
- standard_name :
- image2_sensor
Array Chunk Bytes 85.04 kiB 85.04 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type numpy.ndarray - stable_count_mask(mid_date)int64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- number of valid pixels over stationary or slow-flowing surfaces
- standard_name :
- stable_count_mask
- units :
- count
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - stable_count_slow(mid_date)int64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- number of valid pixels over slowest 25% of ice
- standard_name :
- stable_count_slow
- units :
- count
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - stable_shift_flag(mid_date)int64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- flag for applying velocity bias correction: 0 = no correction; 1 = correction from overlapping stable surface mask (stationary or slow-flowing surfaces with velocity < 15 m/yr)(top priority); 2 = correction from slowest 25% of overlapping velocities (second priority)
- standard_name :
- stable_shift_flag
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - v(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude
- grid_mapping :
- mapping
- standard_name :
- velocity
- units :
- m/y
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - v_error(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude error
- grid_mapping :
- mapping
- standard_name :
- velocity_error
- units :
- m/y
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - va(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity in radar azimuth direction
- grid_mapping :
- mapping
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - va_error(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- error for velocity in radar azimuth direction
- standard_name :
- va_error
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_error_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_modeled(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- va_error_modeled
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- va_error_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- applied va shift calibrated using pixels over stable or slow surfaces
- standard_name :
- va_stable_shift
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- va_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity in radar range direction
- grid_mapping :
- mapping
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vr_error(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- error for velocity in radar range direction
- standard_name :
- vr_error
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_error_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_modeled(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vr_error_modeled
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vr_error_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- applied vr shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vr_stable_shift
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vr_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity component in x direction
- grid_mapping :
- mapping
- standard_name :
- x_velocity
- units :
- m/y
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vx_error(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- best estimate of x_velocity error: vx_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vx_error
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_error_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_modeled(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vx_error_modeled
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vx_error_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- applied vx shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vx_stable_shift
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vx_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy(mid_date, y, x)float32dask.array<chunksize=(7257, 20, 21), meta=np.ndarray>
- description :
- velocity component in y direction
- grid_mapping :
- mapping
- standard_name :
- y_velocity
- units :
- m/y
Array Chunk Bytes 149.49 MiB 37.65 MiB Shape (7257, 54, 100) (7257, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vy_error(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- best estimate of y_velocity error: vy_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vy_error
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_error_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_modeled(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vy_error_modeled
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vy_error_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- applied vy shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vy_stable_shift
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_mask(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_slow(mid_date)float64dask.array<chunksize=(7257,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vy_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 56.70 kiB 56.70 kiB Shape (7257,) (7257,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray
- GDAL_AREA_OR_POINT :
- Area
- author :
- ITS_LIVE, a NASA MEaSUREs project (its-live.jpl.nasa.gov)
- autoRIFT_parameter_file :
- http://its-live-data.s3.amazonaws.com/autorift_parameters/v001/autorift_landice_0120m.shp
- datacube_software_version :
- 1.0
- date_created :
- 09-Jun-2022 04:14:40
- date_updated :
- 09-Jun-2022 04:14:40
- geo_polygon :
- [[83.94987110174335, 27.991402051034683], [84.20379020129273, 27.996804232037185], [84.45777661714104, 28.001738278786444], [84.71182426076075, 28.00620374995722], [84.96592703474772, 28.01020024594077], [84.96166371314177, 28.235735560542437], [84.95735092626452, 28.46126283461518], [84.9529882277544, 28.686782021725538], [84.94857516388325, 28.912293075803735], [84.69230915033022, 28.90814426439164], [84.43610029091587, 28.903508617931795], [84.17995490589726, 28.898386555855694], [83.92387930602281, 28.892778541374547], [83.9304896768754, 28.66744768772876], [83.9370246495942, 28.44210795053903], [83.9434849022056, 28.216759386124536], [83.94987110174335, 27.991402051034683]]
- institution :
- NASA Jet Propulsion Laboratory (JPL), California Institute of Technology
- latitude :
- 28.45
- longitude :
- 84.45
- proj_polygon :
- [[200000, 3100000], [225000.0, 3100000.0], [250000.0, 3100000.0], [275000.0, 3100000.0], [300000, 3100000], [300000.0, 3125000.0], [300000.0, 3150000.0], [300000.0, 3175000.0], [300000, 3200000], [275000.0, 3200000.0], [250000.0, 3200000.0], [225000.0, 3200000.0], [200000, 3200000], [200000.0, 3175000.0], [200000.0, 3150000.0], [200000.0, 3125000.0], [200000, 3100000]]
- projection :
- 32645
- s3 :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
- skipped_granules :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.json
- time_standard_img1 :
- UTC
- time_standard_img2 :
- UTC
- title :
- ITS_LIVE datacube of image_pair velocities
- url :
- https://its-live-data.s3.amazonaws.com/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
We can see that we are looking at roughly a third of the original time steps. Let’s take a look at the average speeds of the Landsat8-derived velocities:
l8_subset.v.mean(dim='mid_date').plot();
What about Landsat9?
l9_condition = sample_glacier_raster.satellite_img1.isin('9.')
l9_subset = sample_glacier_raster.sel(mid_date=l9_condition)
l9_subset
<xarray.Dataset>
Dimensions: (mid_date: 46, y: 54, x: 100)
Coordinates:
mapping int64 0
* mid_date (mid_date) datetime64[ns] 2021-11-06T16:48:19....
* y (y) float64 3.188e+06 3.188e+06 ... 3.182e+06
* x (x) float64 2.36e+05 2.361e+05 ... 2.479e+05
Data variables: (12/53)
acquisition_date_img1 (mid_date) datetime64[ns] dask.array<chunksize=(46,), meta=np.ndarray>
acquisition_date_img2 (mid_date) datetime64[ns] dask.array<chunksize=(46,), meta=np.ndarray>
autoRIFT_software_version (mid_date) <U5 dask.array<chunksize=(46,), meta=np.ndarray>
chip_size_height (mid_date, y, x) float32 dask.array<chunksize=(46, 20, 21), meta=np.ndarray>
chip_size_width (mid_date, y, x) float32 dask.array<chunksize=(46, 20, 21), meta=np.ndarray>
date_center (mid_date) datetime64[ns] dask.array<chunksize=(46,), meta=np.ndarray>
... ...
vy_error_mask (mid_date) float64 dask.array<chunksize=(46,), meta=np.ndarray>
vy_error_modeled (mid_date) float64 dask.array<chunksize=(46,), meta=np.ndarray>
vy_error_slow (mid_date) float64 dask.array<chunksize=(46,), meta=np.ndarray>
vy_stable_shift (mid_date) float64 dask.array<chunksize=(46,), meta=np.ndarray>
vy_stable_shift_mask (mid_date) float64 dask.array<chunksize=(46,), meta=np.ndarray>
vy_stable_shift_slow (mid_date) float64 dask.array<chunksize=(46,), meta=np.ndarray>
Attributes: (12/18)
GDAL_AREA_OR_POINT: Area
author: ITS_LIVE, a NASA MEaSUREs project (its-live.j...
autoRIFT_parameter_file: http://its-live-data.s3.amazonaws.com/autorif...
datacube_software_version: 1.0
date_created: 09-Jun-2022 04:14:40
date_updated: 09-Jun-2022 04:14:40
... ...
s3: s3://its-live-data/datacubes/v02/N20E080/ITS_...
skipped_granules: s3://its-live-data/datacubes/v02/N20E080/ITS_...
time_standard_img1: UTC
time_standard_img2: UTC
title: ITS_LIVE datacube of image_pair velocities
url: https://its-live-data.s3.amazonaws.com/datacu...- mid_date: 46
- y: 54
- x: 100
- mapping()int640
- crs_wkt :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984
- projected_crs_name :
- WGS 84 / UTM zone 45N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- 87.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
array(0)
- mid_date(mid_date)datetime64[ns]2021-11-06T16:48:19.243732224 .....
- description :
- midpoint of image 1 and image 2 acquisition date and time with granule's centroid longitude and latitude as microseconds
- standard_name :
- image_pair_center_date_with_time_separation
array(['2021-11-06T16:48:19.243732224', '2021-11-07T16:49:31.978715904', '2021-11-14T16:48:17.830378752', '2021-11-17T04:49:32.130108928', '2021-11-22T16:48:18.039341056', '2021-11-25T04:49:32.339070976', '2021-11-26T16:48:15.618254336', '2021-11-29T04:49:29.917983744', '2021-11-30T16:48:15.926786048', '2021-12-03T04:49:30.226515968', '2021-12-04T16:48:15.730670080', '2021-12-07T04:49:30.030400000', '2021-12-08T16:48:14.392762112', '2021-12-11T04:49:28.692492032', '2021-12-12T16:48:15.039867904', '2021-12-15T04:49:29.339598080', '2021-12-16T16:48:11.584000000', '2021-12-17T04:54:27.373368320', '2021-12-19T04:49:25.883730176', '2021-12-21T04:54:26.013531904', '2021-12-22T04:48:13.866054144', '2021-12-25T04:54:26.070725888', '2021-12-26T04:48:13.669937920', '2021-12-29T04:54:24.029376000', '2021-12-29T04:54:24.824647936', '2021-12-30T04:48:12.332028928', '2022-01-02T04:54:24.086569984', '2022-01-02T04:54:26.790052096', '2022-01-03T04:48:12.979134976', '2022-01-06T04:54:22.683630336', '2022-01-06T04:54:22.840492032', '2022-01-07T04:48:09.523267072', '2022-01-07T04:48:12.444445952', '2022-01-10T04:54:24.805895936', '2022-01-10T04:54:25.519828992', '2022-01-11T04:48:13.091552000', '2022-01-14T04:54:20.699474176', '2022-01-14T04:54:21.537850368', '2022-01-15T04:48:09.635684096', '2022-01-18T04:54:23.503254016', '2022-01-18T04:54:23.535673088', '2022-01-22T04:54:19.396832000', '2022-01-23T04:48:08.944880896', '2022-01-26T04:54:22.233031168', '2022-01-30T04:54:20.116157952', '2022-02-03T04:54:22.952357120'], dtype='datetime64[ns]') - y(y)float643.188e+06 3.188e+06 ... 3.182e+06
- description :
- y coordinate of projection
- standard_name :
- projection_y_coordinate
- axis :
- Y
- long_name :
- y coordinate of projection
- units :
- metre
array([3187867.5, 3187747.5, 3187627.5, 3187507.5, 3187387.5, 3187267.5, 3187147.5, 3187027.5, 3186907.5, 3186787.5, 3186667.5, 3186547.5, 3186427.5, 3186307.5, 3186187.5, 3186067.5, 3185947.5, 3185827.5, 3185707.5, 3185587.5, 3185467.5, 3185347.5, 3185227.5, 3185107.5, 3184987.5, 3184867.5, 3184747.5, 3184627.5, 3184507.5, 3184387.5, 3184267.5, 3184147.5, 3184027.5, 3183907.5, 3183787.5, 3183667.5, 3183547.5, 3183427.5, 3183307.5, 3183187.5, 3183067.5, 3182947.5, 3182827.5, 3182707.5, 3182587.5, 3182467.5, 3182347.5, 3182227.5, 3182107.5, 3181987.5, 3181867.5, 3181747.5, 3181627.5, 3181507.5]) - x(x)float642.36e+05 2.361e+05 ... 2.479e+05
- description :
- x coordinate of projection
- standard_name :
- projection_x_coordinate
- axis :
- X
- long_name :
- x coordinate of projection
- units :
- metre
array([235972.5, 236092.5, 236212.5, 236332.5, 236452.5, 236572.5, 236692.5, 236812.5, 236932.5, 237052.5, 237172.5, 237292.5, 237412.5, 237532.5, 237652.5, 237772.5, 237892.5, 238012.5, 238132.5, 238252.5, 238372.5, 238492.5, 238612.5, 238732.5, 238852.5, 238972.5, 239092.5, 239212.5, 239332.5, 239452.5, 239572.5, 239692.5, 239812.5, 239932.5, 240052.5, 240172.5, 240292.5, 240412.5, 240532.5, 240652.5, 240772.5, 240892.5, 241012.5, 241132.5, 241252.5, 241372.5, 241492.5, 241612.5, 241732.5, 241852.5, 241972.5, 242092.5, 242212.5, 242332.5, 242452.5, 242572.5, 242692.5, 242812.5, 242932.5, 243052.5, 243172.5, 243292.5, 243412.5, 243532.5, 243652.5, 243772.5, 243892.5, 244012.5, 244132.5, 244252.5, 244372.5, 244492.5, 244612.5, 244732.5, 244852.5, 244972.5, 245092.5, 245212.5, 245332.5, 245452.5, 245572.5, 245692.5, 245812.5, 245932.5, 246052.5, 246172.5, 246292.5, 246412.5, 246532.5, 246652.5, 246772.5, 246892.5, 247012.5, 247132.5, 247252.5, 247372.5, 247492.5, 247612.5, 247732.5, 247852.5])
- acquisition_date_img1(mid_date)datetime64[ns]dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- acquisition date and time of image 1
- standard_name :
- image1_acquition_date
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - acquisition_date_img2(mid_date)datetime64[ns]dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- acquisition date and time of image 2
- standard_name :
- image2_acquition_date
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - autoRIFT_software_version(mid_date)<U5dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- version of autoRIFT software
- standard_name :
- autoRIFT_software_version
Array Chunk Bytes 920 B 920 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type numpy.ndarray - chip_size_height(mid_date, y, x)float32dask.array<chunksize=(46, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- height of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_height
- units :
- m
- y_pixel_size :
- 10.0
Array Chunk Bytes 0.95 MiB 244.38 kiB Shape (46, 54, 100) (46, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - chip_size_width(mid_date, y, x)float32dask.array<chunksize=(46, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- width of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_width
- units :
- m
- x_pixel_size :
- 10.0
Array Chunk Bytes 0.95 MiB 244.38 kiB Shape (46, 54, 100) (46, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - date_center(mid_date)datetime64[ns]dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- midpoint of image 1 and image 2 acquisition date
- standard_name :
- image_pair_center_date
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - date_dt(mid_date)timedelta64[ns]dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- time separation between acquisition of image 1 and image 2
- standard_name :
- image_pair_time_separation
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type timedelta64[ns] numpy.ndarray - granule_url(mid_date)<U235dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- original granule URL
- standard_name :
- granule_url
Array Chunk Bytes 42.23 kiB 42.23 kiB Shape (46,) (46,) Count 6 Tasks 1 Chunks Type numpy.ndarray - interp_mask(mid_date, y, x)float32dask.array<chunksize=(46, 20, 21), meta=np.ndarray>
- description :
- light interpolation mask
- grid_mapping :
- mapping
- standard_name :
- interpolated_value_mask
- units :
- binary
Array Chunk Bytes 0.95 MiB 244.38 kiB Shape (46, 54, 100) (46, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - mission_img1(mid_date)<U1dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- id of the mission that acquired image 1
- standard_name :
- image1_mission
Array Chunk Bytes 184 B 184 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type numpy.ndarray - mission_img2(mid_date)<U1dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- id of the mission that acquired image 2
- standard_name :
- image2_mission
Array Chunk Bytes 184 B 184 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type numpy.ndarray - roi_valid_percentage(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- percentage of pixels with a valid velocity estimate determined for the intersection of the full image pair footprint and the region of interest (roi) that defines where autoRIFT tried to estimate a velocity
- standard_name :
- region_of_interest_valid_pixel_percentage
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - satellite_img1(mid_date)<U2dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 1
- standard_name :
- image1_satellite
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type numpy.ndarray - satellite_img2(mid_date)<U2dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 2
- standard_name :
- image2_satellite
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type numpy.ndarray - sensor_img1(mid_date)<U3dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 1
- standard_name :
- image1_sensor
Array Chunk Bytes 552 B 552 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type numpy.ndarray - sensor_img2(mid_date)<U3dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 2
- standard_name :
- image2_sensor
Array Chunk Bytes 552 B 552 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type numpy.ndarray - stable_count_mask(mid_date)int64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- number of valid pixels over stationary or slow-flowing surfaces
- standard_name :
- stable_count_mask
- units :
- count
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - stable_count_slow(mid_date)int64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- number of valid pixels over slowest 25% of ice
- standard_name :
- stable_count_slow
- units :
- count
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - stable_shift_flag(mid_date)int64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- flag for applying velocity bias correction: 0 = no correction; 1 = correction from overlapping stable surface mask (stationary or slow-flowing surfaces with velocity < 15 m/yr)(top priority); 2 = correction from slowest 25% of overlapping velocities (second priority)
- standard_name :
- stable_shift_flag
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - v(mid_date, y, x)float32dask.array<chunksize=(46, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude
- grid_mapping :
- mapping
- standard_name :
- velocity
- units :
- m/y
Array Chunk Bytes 0.95 MiB 244.38 kiB Shape (46, 54, 100) (46, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - v_error(mid_date, y, x)float32dask.array<chunksize=(46, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude error
- grid_mapping :
- mapping
- standard_name :
- velocity_error
- units :
- m/y
Array Chunk Bytes 0.95 MiB 244.38 kiB Shape (46, 54, 100) (46, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - va(mid_date, y, x)float32dask.array<chunksize=(46, 20, 21), meta=np.ndarray>
- description :
- velocity in radar azimuth direction
- grid_mapping :
- mapping
Array Chunk Bytes 0.95 MiB 244.38 kiB Shape (46, 54, 100) (46, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - va_error(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- error for velocity in radar azimuth direction
- standard_name :
- va_error
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_mask(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_error_mask
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_modeled(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- va_error_modeled
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_slow(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- va_error_slow
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- applied va shift calibrated using pixels over stable or slow surfaces
- standard_name :
- va_stable_shift
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_mask(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_slow(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- va_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr(mid_date, y, x)float32dask.array<chunksize=(46, 20, 21), meta=np.ndarray>
- description :
- velocity in radar range direction
- grid_mapping :
- mapping
Array Chunk Bytes 0.95 MiB 244.38 kiB Shape (46, 54, 100) (46, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vr_error(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- error for velocity in radar range direction
- standard_name :
- vr_error
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_mask(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_error_mask
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_modeled(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vr_error_modeled
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_slow(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vr_error_slow
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- applied vr shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vr_stable_shift
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_mask(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_slow(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vr_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx(mid_date, y, x)float32dask.array<chunksize=(46, 20, 21), meta=np.ndarray>
- description :
- velocity component in x direction
- grid_mapping :
- mapping
- standard_name :
- x_velocity
- units :
- m/y
Array Chunk Bytes 0.95 MiB 244.38 kiB Shape (46, 54, 100) (46, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vx_error(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- best estimate of x_velocity error: vx_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vx_error
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_mask(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_error_mask
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_modeled(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vx_error_modeled
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_slow(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vx_error_slow
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- applied vx shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vx_stable_shift
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_mask(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_slow(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vx_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy(mid_date, y, x)float32dask.array<chunksize=(46, 20, 21), meta=np.ndarray>
- description :
- velocity component in y direction
- grid_mapping :
- mapping
- standard_name :
- y_velocity
- units :
- m/y
Array Chunk Bytes 0.95 MiB 244.38 kiB Shape (46, 54, 100) (46, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vy_error(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- best estimate of y_velocity error: vy_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vy_error
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_mask(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_error_mask
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_modeled(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vy_error_modeled
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_slow(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vy_error_slow
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- applied vy shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vy_stable_shift
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_mask(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_slow(mid_date)float64dask.array<chunksize=(46,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vy_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 368 B 368 B Shape (46,) (46,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray
- GDAL_AREA_OR_POINT :
- Area
- author :
- ITS_LIVE, a NASA MEaSUREs project (its-live.jpl.nasa.gov)
- autoRIFT_parameter_file :
- http://its-live-data.s3.amazonaws.com/autorift_parameters/v001/autorift_landice_0120m.shp
- datacube_software_version :
- 1.0
- date_created :
- 09-Jun-2022 04:14:40
- date_updated :
- 09-Jun-2022 04:14:40
- geo_polygon :
- [[83.94987110174335, 27.991402051034683], [84.20379020129273, 27.996804232037185], [84.45777661714104, 28.001738278786444], [84.71182426076075, 28.00620374995722], [84.96592703474772, 28.01020024594077], [84.96166371314177, 28.235735560542437], [84.95735092626452, 28.46126283461518], [84.9529882277544, 28.686782021725538], [84.94857516388325, 28.912293075803735], [84.69230915033022, 28.90814426439164], [84.43610029091587, 28.903508617931795], [84.17995490589726, 28.898386555855694], [83.92387930602281, 28.892778541374547], [83.9304896768754, 28.66744768772876], [83.9370246495942, 28.44210795053903], [83.9434849022056, 28.216759386124536], [83.94987110174335, 27.991402051034683]]
- institution :
- NASA Jet Propulsion Laboratory (JPL), California Institute of Technology
- latitude :
- 28.45
- longitude :
- 84.45
- proj_polygon :
- [[200000, 3100000], [225000.0, 3100000.0], [250000.0, 3100000.0], [275000.0, 3100000.0], [300000, 3100000], [300000.0, 3125000.0], [300000.0, 3150000.0], [300000.0, 3175000.0], [300000, 3200000], [275000.0, 3200000.0], [250000.0, 3200000.0], [225000.0, 3200000.0], [200000, 3200000], [200000.0, 3175000.0], [200000.0, 3150000.0], [200000.0, 3125000.0], [200000, 3100000]]
- projection :
- 32645
- s3 :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
- skipped_granules :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.json
- time_standard_img1 :
- UTC
- time_standard_img2 :
- UTC
- title :
- ITS_LIVE datacube of image_pair velocities
- url :
- https://its-live-data.s3.amazonaws.com/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
Only 45 time steps have data from Landsat9, this makes sense because Landsat9 was just launched recently
l9_subset.v.mean(dim='mid_date').plot();
Let’s look at Sentinel 1 data. Note here we are selecting for 2 values instead of 1:
s1_condition = sample_glacier_raster.satellite_img1.isin(['1A','1B'])
s1_subset = sample_glacier_raster.sel(mid_date = s1_condition)
s1_subset
<xarray.Dataset>
Dimensions: (mid_date: 475, y: 54, x: 100)
Coordinates:
mapping int64 0
* mid_date (mid_date) datetime64[ns] 2014-10-13T00:19:06....
* y (y) float64 3.188e+06 3.188e+06 ... 3.182e+06
* x (x) float64 2.36e+05 2.361e+05 ... 2.479e+05
Data variables: (12/53)
acquisition_date_img1 (mid_date) datetime64[ns] dask.array<chunksize=(475,), meta=np.ndarray>
acquisition_date_img2 (mid_date) datetime64[ns] dask.array<chunksize=(475,), meta=np.ndarray>
autoRIFT_software_version (mid_date) <U5 dask.array<chunksize=(475,), meta=np.ndarray>
chip_size_height (mid_date, y, x) float32 dask.array<chunksize=(475, 20, 21), meta=np.ndarray>
chip_size_width (mid_date, y, x) float32 dask.array<chunksize=(475, 20, 21), meta=np.ndarray>
date_center (mid_date) datetime64[ns] dask.array<chunksize=(475,), meta=np.ndarray>
... ...
vy_error_mask (mid_date) float64 dask.array<chunksize=(475,), meta=np.ndarray>
vy_error_modeled (mid_date) float64 dask.array<chunksize=(475,), meta=np.ndarray>
vy_error_slow (mid_date) float64 dask.array<chunksize=(475,), meta=np.ndarray>
vy_stable_shift (mid_date) float64 dask.array<chunksize=(475,), meta=np.ndarray>
vy_stable_shift_mask (mid_date) float64 dask.array<chunksize=(475,), meta=np.ndarray>
vy_stable_shift_slow (mid_date) float64 dask.array<chunksize=(475,), meta=np.ndarray>
Attributes: (12/18)
GDAL_AREA_OR_POINT: Area
author: ITS_LIVE, a NASA MEaSUREs project (its-live.j...
autoRIFT_parameter_file: http://its-live-data.s3.amazonaws.com/autorif...
datacube_software_version: 1.0
date_created: 09-Jun-2022 04:14:40
date_updated: 09-Jun-2022 04:14:40
... ...
s3: s3://its-live-data/datacubes/v02/N20E080/ITS_...
skipped_granules: s3://its-live-data/datacubes/v02/N20E080/ITS_...
time_standard_img1: UTC
time_standard_img2: UTC
title: ITS_LIVE datacube of image_pair velocities
url: https://its-live-data.s3.amazonaws.com/datacu...- mid_date: 475
- y: 54
- x: 100
- mapping()int640
- crs_wkt :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984
- projected_crs_name :
- WGS 84 / UTM zone 45N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- 87.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
array(0)
- mid_date(mid_date)datetime64[ns]2014-10-13T00:19:06.329022976 .....
- description :
- midpoint of image 1 and image 2 acquisition date and time with granule's centroid longitude and latitude as microseconds
- standard_name :
- image_pair_center_date_with_time_separation
array(['2014-10-13T00:19:06.329022976', '2014-10-25T00:19:06.133405952', '2014-11-06T00:19:05.893705984', ..., '2022-01-28T00:19:40.932251904', '2022-02-01T12:22:38.734021888', '2022-02-09T00:19:40.643166976'], dtype='datetime64[ns]') - y(y)float643.188e+06 3.188e+06 ... 3.182e+06
- description :
- y coordinate of projection
- standard_name :
- projection_y_coordinate
- axis :
- Y
- long_name :
- y coordinate of projection
- units :
- metre
array([3187867.5, 3187747.5, 3187627.5, 3187507.5, 3187387.5, 3187267.5, 3187147.5, 3187027.5, 3186907.5, 3186787.5, 3186667.5, 3186547.5, 3186427.5, 3186307.5, 3186187.5, 3186067.5, 3185947.5, 3185827.5, 3185707.5, 3185587.5, 3185467.5, 3185347.5, 3185227.5, 3185107.5, 3184987.5, 3184867.5, 3184747.5, 3184627.5, 3184507.5, 3184387.5, 3184267.5, 3184147.5, 3184027.5, 3183907.5, 3183787.5, 3183667.5, 3183547.5, 3183427.5, 3183307.5, 3183187.5, 3183067.5, 3182947.5, 3182827.5, 3182707.5, 3182587.5, 3182467.5, 3182347.5, 3182227.5, 3182107.5, 3181987.5, 3181867.5, 3181747.5, 3181627.5, 3181507.5]) - x(x)float642.36e+05 2.361e+05 ... 2.479e+05
- description :
- x coordinate of projection
- standard_name :
- projection_x_coordinate
- axis :
- X
- long_name :
- x coordinate of projection
- units :
- metre
array([235972.5, 236092.5, 236212.5, 236332.5, 236452.5, 236572.5, 236692.5, 236812.5, 236932.5, 237052.5, 237172.5, 237292.5, 237412.5, 237532.5, 237652.5, 237772.5, 237892.5, 238012.5, 238132.5, 238252.5, 238372.5, 238492.5, 238612.5, 238732.5, 238852.5, 238972.5, 239092.5, 239212.5, 239332.5, 239452.5, 239572.5, 239692.5, 239812.5, 239932.5, 240052.5, 240172.5, 240292.5, 240412.5, 240532.5, 240652.5, 240772.5, 240892.5, 241012.5, 241132.5, 241252.5, 241372.5, 241492.5, 241612.5, 241732.5, 241852.5, 241972.5, 242092.5, 242212.5, 242332.5, 242452.5, 242572.5, 242692.5, 242812.5, 242932.5, 243052.5, 243172.5, 243292.5, 243412.5, 243532.5, 243652.5, 243772.5, 243892.5, 244012.5, 244132.5, 244252.5, 244372.5, 244492.5, 244612.5, 244732.5, 244852.5, 244972.5, 245092.5, 245212.5, 245332.5, 245452.5, 245572.5, 245692.5, 245812.5, 245932.5, 246052.5, 246172.5, 246292.5, 246412.5, 246532.5, 246652.5, 246772.5, 246892.5, 247012.5, 247132.5, 247252.5, 247372.5, 247492.5, 247612.5, 247732.5, 247852.5])
- acquisition_date_img1(mid_date)datetime64[ns]dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- acquisition date and time of image 1
- standard_name :
- image1_acquition_date
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - acquisition_date_img2(mid_date)datetime64[ns]dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- acquisition date and time of image 2
- standard_name :
- image2_acquition_date
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - autoRIFT_software_version(mid_date)<U5dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- version of autoRIFT software
- standard_name :
- autoRIFT_software_version
Array Chunk Bytes 9.28 kiB 9.28 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type numpy.ndarray - chip_size_height(mid_date, y, x)float32dask.array<chunksize=(475, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- height of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_height
- units :
- m
- y_pixel_size :
- 10.0
Array Chunk Bytes 9.78 MiB 2.46 MiB Shape (475, 54, 100) (475, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - chip_size_width(mid_date, y, x)float32dask.array<chunksize=(475, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- width of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_width
- units :
- m
- x_pixel_size :
- 10.0
Array Chunk Bytes 9.78 MiB 2.46 MiB Shape (475, 54, 100) (475, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - date_center(mid_date)datetime64[ns]dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- midpoint of image 1 and image 2 acquisition date
- standard_name :
- image_pair_center_date
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - date_dt(mid_date)timedelta64[ns]dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- time separation between acquisition of image 1 and image 2
- standard_name :
- image_pair_time_separation
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type timedelta64[ns] numpy.ndarray - granule_url(mid_date)<U235dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- original granule URL
- standard_name :
- granule_url
Array Chunk Bytes 436.04 kiB 436.04 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type numpy.ndarray - interp_mask(mid_date, y, x)float32dask.array<chunksize=(475, 20, 21), meta=np.ndarray>
- description :
- light interpolation mask
- grid_mapping :
- mapping
- standard_name :
- interpolated_value_mask
- units :
- binary
Array Chunk Bytes 9.78 MiB 2.46 MiB Shape (475, 54, 100) (475, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - mission_img1(mid_date)<U1dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- id of the mission that acquired image 1
- standard_name :
- image1_mission
Array Chunk Bytes 1.86 kiB 1.86 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type numpy.ndarray - mission_img2(mid_date)<U1dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- id of the mission that acquired image 2
- standard_name :
- image2_mission
Array Chunk Bytes 1.86 kiB 1.86 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type numpy.ndarray - roi_valid_percentage(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- percentage of pixels with a valid velocity estimate determined for the intersection of the full image pair footprint and the region of interest (roi) that defines where autoRIFT tried to estimate a velocity
- standard_name :
- region_of_interest_valid_pixel_percentage
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - satellite_img1(mid_date)<U2dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 1
- standard_name :
- image1_satellite
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type numpy.ndarray - satellite_img2(mid_date)<U2dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 2
- standard_name :
- image2_satellite
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type numpy.ndarray - sensor_img1(mid_date)<U3dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 1
- standard_name :
- image1_sensor
Array Chunk Bytes 5.57 kiB 5.57 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type numpy.ndarray - sensor_img2(mid_date)<U3dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 2
- standard_name :
- image2_sensor
Array Chunk Bytes 5.57 kiB 5.57 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type numpy.ndarray - stable_count_mask(mid_date)int64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- number of valid pixels over stationary or slow-flowing surfaces
- standard_name :
- stable_count_mask
- units :
- count
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - stable_count_slow(mid_date)int64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- number of valid pixels over slowest 25% of ice
- standard_name :
- stable_count_slow
- units :
- count
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - stable_shift_flag(mid_date)int64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- flag for applying velocity bias correction: 0 = no correction; 1 = correction from overlapping stable surface mask (stationary or slow-flowing surfaces with velocity < 15 m/yr)(top priority); 2 = correction from slowest 25% of overlapping velocities (second priority)
- standard_name :
- stable_shift_flag
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - v(mid_date, y, x)float32dask.array<chunksize=(475, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude
- grid_mapping :
- mapping
- standard_name :
- velocity
- units :
- m/y
Array Chunk Bytes 9.78 MiB 2.46 MiB Shape (475, 54, 100) (475, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - v_error(mid_date, y, x)float32dask.array<chunksize=(475, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude error
- grid_mapping :
- mapping
- standard_name :
- velocity_error
- units :
- m/y
Array Chunk Bytes 9.78 MiB 2.46 MiB Shape (475, 54, 100) (475, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - va(mid_date, y, x)float32dask.array<chunksize=(475, 20, 21), meta=np.ndarray>
- description :
- velocity in radar azimuth direction
- grid_mapping :
- mapping
Array Chunk Bytes 9.78 MiB 2.46 MiB Shape (475, 54, 100) (475, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - va_error(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- error for velocity in radar azimuth direction
- standard_name :
- va_error
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_mask(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_error_mask
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_modeled(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- va_error_modeled
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_slow(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- va_error_slow
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- applied va shift calibrated using pixels over stable or slow surfaces
- standard_name :
- va_stable_shift
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_mask(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_slow(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- va_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr(mid_date, y, x)float32dask.array<chunksize=(475, 20, 21), meta=np.ndarray>
- description :
- velocity in radar range direction
- grid_mapping :
- mapping
Array Chunk Bytes 9.78 MiB 2.46 MiB Shape (475, 54, 100) (475, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vr_error(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- error for velocity in radar range direction
- standard_name :
- vr_error
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_mask(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_error_mask
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_modeled(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vr_error_modeled
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_slow(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vr_error_slow
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- applied vr shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vr_stable_shift
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_mask(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_slow(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vr_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx(mid_date, y, x)float32dask.array<chunksize=(475, 20, 21), meta=np.ndarray>
- description :
- velocity component in x direction
- grid_mapping :
- mapping
- standard_name :
- x_velocity
- units :
- m/y
Array Chunk Bytes 9.78 MiB 2.46 MiB Shape (475, 54, 100) (475, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vx_error(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- best estimate of x_velocity error: vx_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vx_error
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_mask(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_error_mask
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_modeled(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vx_error_modeled
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_slow(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vx_error_slow
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- applied vx shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vx_stable_shift
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_mask(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_slow(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vx_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy(mid_date, y, x)float32dask.array<chunksize=(475, 20, 21), meta=np.ndarray>
- description :
- velocity component in y direction
- grid_mapping :
- mapping
- standard_name :
- y_velocity
- units :
- m/y
Array Chunk Bytes 9.78 MiB 2.46 MiB Shape (475, 54, 100) (475, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vy_error(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- best estimate of y_velocity error: vy_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vy_error
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_mask(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_error_mask
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_modeled(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vy_error_modeled
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_slow(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vy_error_slow
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- applied vy shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vy_stable_shift
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_mask(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_slow(mid_date)float64dask.array<chunksize=(475,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vy_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 3.71 kiB 3.71 kiB Shape (475,) (475,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray
- GDAL_AREA_OR_POINT :
- Area
- author :
- ITS_LIVE, a NASA MEaSUREs project (its-live.jpl.nasa.gov)
- autoRIFT_parameter_file :
- http://its-live-data.s3.amazonaws.com/autorift_parameters/v001/autorift_landice_0120m.shp
- datacube_software_version :
- 1.0
- date_created :
- 09-Jun-2022 04:14:40
- date_updated :
- 09-Jun-2022 04:14:40
- geo_polygon :
- [[83.94987110174335, 27.991402051034683], [84.20379020129273, 27.996804232037185], [84.45777661714104, 28.001738278786444], [84.71182426076075, 28.00620374995722], [84.96592703474772, 28.01020024594077], [84.96166371314177, 28.235735560542437], [84.95735092626452, 28.46126283461518], [84.9529882277544, 28.686782021725538], [84.94857516388325, 28.912293075803735], [84.69230915033022, 28.90814426439164], [84.43610029091587, 28.903508617931795], [84.17995490589726, 28.898386555855694], [83.92387930602281, 28.892778541374547], [83.9304896768754, 28.66744768772876], [83.9370246495942, 28.44210795053903], [83.9434849022056, 28.216759386124536], [83.94987110174335, 27.991402051034683]]
- institution :
- NASA Jet Propulsion Laboratory (JPL), California Institute of Technology
- latitude :
- 28.45
- longitude :
- 84.45
- proj_polygon :
- [[200000, 3100000], [225000.0, 3100000.0], [250000.0, 3100000.0], [275000.0, 3100000.0], [300000, 3100000], [300000.0, 3125000.0], [300000.0, 3150000.0], [300000.0, 3175000.0], [300000, 3200000], [275000.0, 3200000.0], [250000.0, 3200000.0], [225000.0, 3200000.0], [200000, 3200000], [200000.0, 3175000.0], [200000.0, 3150000.0], [200000.0, 3125000.0], [200000, 3100000]]
- projection :
- 32645
- s3 :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
- skipped_granules :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.json
- time_standard_img1 :
- UTC
- time_standard_img2 :
- UTC
- title :
- ITS_LIVE datacube of image_pair velocities
- url :
- https://its-live-data.s3.amazonaws.com/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
s1_subset.v.mean(dim='mid_date').plot();
s2_condition = sample_glacier_raster.satellite_img1.isin(['2A','2B'])
s2_subset = sample_glacier_raster.sel(mid_date=s2_condition)
s2_subset
<xarray.Dataset>
Dimensions: (mid_date: 12771, y: 54, x: 100)
Coordinates:
mapping int64 0
* mid_date (mid_date) datetime64[ns] 2016-02-26T05:07:11....
* y (y) float64 3.188e+06 3.188e+06 ... 3.182e+06
* x (x) float64 2.36e+05 2.361e+05 ... 2.479e+05
Data variables: (12/53)
acquisition_date_img1 (mid_date) datetime64[ns] dask.array<chunksize=(12771,), meta=np.ndarray>
acquisition_date_img2 (mid_date) datetime64[ns] dask.array<chunksize=(12771,), meta=np.ndarray>
autoRIFT_software_version (mid_date) <U5 dask.array<chunksize=(12771,), meta=np.ndarray>
chip_size_height (mid_date, y, x) float32 dask.array<chunksize=(12771, 20, 21), meta=np.ndarray>
chip_size_width (mid_date, y, x) float32 dask.array<chunksize=(12771, 20, 21), meta=np.ndarray>
date_center (mid_date) datetime64[ns] dask.array<chunksize=(12771,), meta=np.ndarray>
... ...
vy_error_mask (mid_date) float64 dask.array<chunksize=(12771,), meta=np.ndarray>
vy_error_modeled (mid_date) float64 dask.array<chunksize=(12771,), meta=np.ndarray>
vy_error_slow (mid_date) float64 dask.array<chunksize=(12771,), meta=np.ndarray>
vy_stable_shift (mid_date) float64 dask.array<chunksize=(12771,), meta=np.ndarray>
vy_stable_shift_mask (mid_date) float64 dask.array<chunksize=(12771,), meta=np.ndarray>
vy_stable_shift_slow (mid_date) float64 dask.array<chunksize=(12771,), meta=np.ndarray>
Attributes: (12/18)
GDAL_AREA_OR_POINT: Area
author: ITS_LIVE, a NASA MEaSUREs project (its-live.j...
autoRIFT_parameter_file: http://its-live-data.s3.amazonaws.com/autorif...
datacube_software_version: 1.0
date_created: 09-Jun-2022 04:14:40
date_updated: 09-Jun-2022 04:14:40
... ...
s3: s3://its-live-data/datacubes/v02/N20E080/ITS_...
skipped_granules: s3://its-live-data/datacubes/v02/N20E080/ITS_...
time_standard_img1: UTC
time_standard_img2: UTC
title: ITS_LIVE datacube of image_pair velocities
url: https://its-live-data.s3.amazonaws.com/datacu...- mid_date: 12771
- y: 54
- x: 100
- mapping()int640
- crs_wkt :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
- semi_major_axis :
- 6378137.0
- semi_minor_axis :
- 6356752.314245179
- inverse_flattening :
- 298.257223563
- reference_ellipsoid_name :
- WGS 84
- longitude_of_prime_meridian :
- 0.0
- prime_meridian_name :
- Greenwich
- geographic_crs_name :
- WGS 84
- horizontal_datum_name :
- World Geodetic System 1984
- projected_crs_name :
- WGS 84 / UTM zone 45N
- grid_mapping_name :
- transverse_mercator
- latitude_of_projection_origin :
- 0.0
- longitude_of_central_meridian :
- 87.0
- false_easting :
- 500000.0
- false_northing :
- 0.0
- scale_factor_at_central_meridian :
- 0.9996
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 45N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",87],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32645"]]
array(0)
- mid_date(mid_date)datetime64[ns]2016-02-26T05:07:11.528083968 .....
- description :
- midpoint of image 1 and image 2 acquisition date and time with granule's centroid longitude and latitude as microseconds
- standard_name :
- image_pair_center_date_with_time_separation
array(['2016-02-26T05:07:11.528083968', '2016-03-07T05:09:10.528083968', '2016-04-06T05:08:55.028083968', ..., '2022-04-20T05:10:57.028083968', '2022-04-22T17:10:38.029083904', '2022-04-22T17:10:53.028083968'], dtype='datetime64[ns]') - y(y)float643.188e+06 3.188e+06 ... 3.182e+06
- description :
- y coordinate of projection
- standard_name :
- projection_y_coordinate
- axis :
- Y
- long_name :
- y coordinate of projection
- units :
- metre
array([3187867.5, 3187747.5, 3187627.5, 3187507.5, 3187387.5, 3187267.5, 3187147.5, 3187027.5, 3186907.5, 3186787.5, 3186667.5, 3186547.5, 3186427.5, 3186307.5, 3186187.5, 3186067.5, 3185947.5, 3185827.5, 3185707.5, 3185587.5, 3185467.5, 3185347.5, 3185227.5, 3185107.5, 3184987.5, 3184867.5, 3184747.5, 3184627.5, 3184507.5, 3184387.5, 3184267.5, 3184147.5, 3184027.5, 3183907.5, 3183787.5, 3183667.5, 3183547.5, 3183427.5, 3183307.5, 3183187.5, 3183067.5, 3182947.5, 3182827.5, 3182707.5, 3182587.5, 3182467.5, 3182347.5, 3182227.5, 3182107.5, 3181987.5, 3181867.5, 3181747.5, 3181627.5, 3181507.5]) - x(x)float642.36e+05 2.361e+05 ... 2.479e+05
- description :
- x coordinate of projection
- standard_name :
- projection_x_coordinate
- axis :
- X
- long_name :
- x coordinate of projection
- units :
- metre
array([235972.5, 236092.5, 236212.5, 236332.5, 236452.5, 236572.5, 236692.5, 236812.5, 236932.5, 237052.5, 237172.5, 237292.5, 237412.5, 237532.5, 237652.5, 237772.5, 237892.5, 238012.5, 238132.5, 238252.5, 238372.5, 238492.5, 238612.5, 238732.5, 238852.5, 238972.5, 239092.5, 239212.5, 239332.5, 239452.5, 239572.5, 239692.5, 239812.5, 239932.5, 240052.5, 240172.5, 240292.5, 240412.5, 240532.5, 240652.5, 240772.5, 240892.5, 241012.5, 241132.5, 241252.5, 241372.5, 241492.5, 241612.5, 241732.5, 241852.5, 241972.5, 242092.5, 242212.5, 242332.5, 242452.5, 242572.5, 242692.5, 242812.5, 242932.5, 243052.5, 243172.5, 243292.5, 243412.5, 243532.5, 243652.5, 243772.5, 243892.5, 244012.5, 244132.5, 244252.5, 244372.5, 244492.5, 244612.5, 244732.5, 244852.5, 244972.5, 245092.5, 245212.5, 245332.5, 245452.5, 245572.5, 245692.5, 245812.5, 245932.5, 246052.5, 246172.5, 246292.5, 246412.5, 246532.5, 246652.5, 246772.5, 246892.5, 247012.5, 247132.5, 247252.5, 247372.5, 247492.5, 247612.5, 247732.5, 247852.5])
- acquisition_date_img1(mid_date)datetime64[ns]dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- acquisition date and time of image 1
- standard_name :
- image1_acquition_date
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - acquisition_date_img2(mid_date)datetime64[ns]dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- acquisition date and time of image 2
- standard_name :
- image2_acquition_date
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - autoRIFT_software_version(mid_date)<U5dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- version of autoRIFT software
- standard_name :
- autoRIFT_software_version
Array Chunk Bytes 249.43 kiB 249.43 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type numpy.ndarray - chip_size_height(mid_date, y, x)float32dask.array<chunksize=(12771, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- height of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_height
- units :
- m
- y_pixel_size :
- 10.0
Array Chunk Bytes 263.07 MiB 66.26 MiB Shape (12771, 54, 100) (12771, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - chip_size_width(mid_date, y, x)float32dask.array<chunksize=(12771, 20, 21), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- width of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_width
- units :
- m
- x_pixel_size :
- 10.0
Array Chunk Bytes 263.07 MiB 66.26 MiB Shape (12771, 54, 100) (12771, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - date_center(mid_date)datetime64[ns]dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- midpoint of image 1 and image 2 acquisition date
- standard_name :
- image_pair_center_date
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type datetime64[ns] numpy.ndarray - date_dt(mid_date)timedelta64[ns]dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- time separation between acquisition of image 1 and image 2
- standard_name :
- image_pair_time_separation
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type timedelta64[ns] numpy.ndarray - granule_url(mid_date)<U235dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- original granule URL
- standard_name :
- granule_url
Array Chunk Bytes 11.45 MiB 11.45 MiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type numpy.ndarray - interp_mask(mid_date, y, x)float32dask.array<chunksize=(12771, 20, 21), meta=np.ndarray>
- description :
- light interpolation mask
- grid_mapping :
- mapping
- standard_name :
- interpolated_value_mask
- units :
- binary
Array Chunk Bytes 263.07 MiB 66.26 MiB Shape (12771, 54, 100) (12771, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - mission_img1(mid_date)<U1dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- id of the mission that acquired image 1
- standard_name :
- image1_mission
Array Chunk Bytes 49.89 kiB 49.89 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type numpy.ndarray - mission_img2(mid_date)<U1dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- id of the mission that acquired image 2
- standard_name :
- image2_mission
Array Chunk Bytes 49.89 kiB 49.89 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type numpy.ndarray - roi_valid_percentage(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- percentage of pixels with a valid velocity estimate determined for the intersection of the full image pair footprint and the region of interest (roi) that defines where autoRIFT tried to estimate a velocity
- standard_name :
- region_of_interest_valid_pixel_percentage
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - satellite_img1(mid_date)<U2dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 1
- standard_name :
- image1_satellite
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type numpy.ndarray - satellite_img2(mid_date)<U2dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 2
- standard_name :
- image2_satellite
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type numpy.ndarray - sensor_img1(mid_date)<U3dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 1
- standard_name :
- image1_sensor
Array Chunk Bytes 149.66 kiB 149.66 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type numpy.ndarray - sensor_img2(mid_date)<U3dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 2
- standard_name :
- image2_sensor
Array Chunk Bytes 149.66 kiB 149.66 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type numpy.ndarray - stable_count_mask(mid_date)int64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- number of valid pixels over stationary or slow-flowing surfaces
- standard_name :
- stable_count_mask
- units :
- count
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - stable_count_slow(mid_date)int64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- number of valid pixels over slowest 25% of ice
- standard_name :
- stable_count_slow
- units :
- count
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - stable_shift_flag(mid_date)int64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- flag for applying velocity bias correction: 0 = no correction; 1 = correction from overlapping stable surface mask (stationary or slow-flowing surfaces with velocity < 15 m/yr)(top priority); 2 = correction from slowest 25% of overlapping velocities (second priority)
- standard_name :
- stable_shift_flag
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type int64 numpy.ndarray - v(mid_date, y, x)float32dask.array<chunksize=(12771, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude
- grid_mapping :
- mapping
- standard_name :
- velocity
- units :
- m/y
Array Chunk Bytes 263.07 MiB 66.26 MiB Shape (12771, 54, 100) (12771, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - v_error(mid_date, y, x)float32dask.array<chunksize=(12771, 20, 21), meta=np.ndarray>
- description :
- velocity magnitude error
- grid_mapping :
- mapping
- standard_name :
- velocity_error
- units :
- m/y
Array Chunk Bytes 263.07 MiB 66.26 MiB Shape (12771, 54, 100) (12771, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - va(mid_date, y, x)float32dask.array<chunksize=(12771, 20, 21), meta=np.ndarray>
- description :
- velocity in radar azimuth direction
- grid_mapping :
- mapping
Array Chunk Bytes 263.07 MiB 66.26 MiB Shape (12771, 54, 100) (12771, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - va_error(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- error for velocity in radar azimuth direction
- standard_name :
- va_error
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_mask(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_error_mask
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_modeled(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- va_error_modeled
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_error_slow(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- va_error_slow
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- applied va shift calibrated using pixels over stable or slow surfaces
- standard_name :
- va_stable_shift
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_mask(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - va_stable_shift_slow(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- va_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr(mid_date, y, x)float32dask.array<chunksize=(12771, 20, 21), meta=np.ndarray>
- description :
- velocity in radar range direction
- grid_mapping :
- mapping
Array Chunk Bytes 263.07 MiB 66.26 MiB Shape (12771, 54, 100) (12771, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vr_error(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- error for velocity in radar range direction
- standard_name :
- vr_error
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_mask(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_error_mask
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_modeled(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vr_error_modeled
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_error_slow(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vr_error_slow
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- applied vr shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vr_stable_shift
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_mask(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vr_stable_shift_slow(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vr_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx(mid_date, y, x)float32dask.array<chunksize=(12771, 20, 21), meta=np.ndarray>
- description :
- velocity component in x direction
- grid_mapping :
- mapping
- standard_name :
- x_velocity
- units :
- m/y
Array Chunk Bytes 263.07 MiB 66.26 MiB Shape (12771, 54, 100) (12771, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vx_error(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- best estimate of x_velocity error: vx_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vx_error
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_mask(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_error_mask
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_modeled(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vx_error_modeled
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_error_slow(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vx_error_slow
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- applied vx shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vx_stable_shift
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_mask(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vx_stable_shift_slow(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vx_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy(mid_date, y, x)float32dask.array<chunksize=(12771, 20, 21), meta=np.ndarray>
- description :
- velocity component in y direction
- grid_mapping :
- mapping
- standard_name :
- y_velocity
- units :
- m/y
Array Chunk Bytes 263.07 MiB 66.26 MiB Shape (12771, 54, 100) (12771, 34, 40) Count 2219 Tasks 6 Chunks Type float32 numpy.ndarray - vy_error(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- best estimate of y_velocity error: vy_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vy_error
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_mask(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_error_mask
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_modeled(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vy_error_modeled
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_error_slow(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vy_error_slow
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- applied vy shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vy_stable_shift
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_mask(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray - vy_stable_shift_slow(mid_date)float64dask.array<chunksize=(12771,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vy_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 99.77 kiB 99.77 kiB Shape (12771,) (12771,) Count 6 Tasks 1 Chunks Type float64 numpy.ndarray
- GDAL_AREA_OR_POINT :
- Area
- author :
- ITS_LIVE, a NASA MEaSUREs project (its-live.jpl.nasa.gov)
- autoRIFT_parameter_file :
- http://its-live-data.s3.amazonaws.com/autorift_parameters/v001/autorift_landice_0120m.shp
- datacube_software_version :
- 1.0
- date_created :
- 09-Jun-2022 04:14:40
- date_updated :
- 09-Jun-2022 04:14:40
- geo_polygon :
- [[83.94987110174335, 27.991402051034683], [84.20379020129273, 27.996804232037185], [84.45777661714104, 28.001738278786444], [84.71182426076075, 28.00620374995722], [84.96592703474772, 28.01020024594077], [84.96166371314177, 28.235735560542437], [84.95735092626452, 28.46126283461518], [84.9529882277544, 28.686782021725538], [84.94857516388325, 28.912293075803735], [84.69230915033022, 28.90814426439164], [84.43610029091587, 28.903508617931795], [84.17995490589726, 28.898386555855694], [83.92387930602281, 28.892778541374547], [83.9304896768754, 28.66744768772876], [83.9370246495942, 28.44210795053903], [83.9434849022056, 28.216759386124536], [83.94987110174335, 27.991402051034683]]
- institution :
- NASA Jet Propulsion Laboratory (JPL), California Institute of Technology
- latitude :
- 28.45
- longitude :
- 84.45
- proj_polygon :
- [[200000, 3100000], [225000.0, 3100000.0], [250000.0, 3100000.0], [275000.0, 3100000.0], [300000, 3100000], [300000.0, 3125000.0], [300000.0, 3150000.0], [300000.0, 3175000.0], [300000, 3200000], [275000.0, 3200000.0], [250000.0, 3200000.0], [225000.0, 3200000.0], [200000, 3200000], [200000.0, 3175000.0], [200000.0, 3150000.0], [200000.0, 3125000.0], [200000, 3100000]]
- projection :
- 32645
- s3 :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
- skipped_granules :
- s3://its-live-data/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.json
- time_standard_img1 :
- UTC
- time_standard_img2 :
- UTC
- title :
- ITS_LIVE datacube of image_pair velocities
- url :
- https://its-live-data.s3.amazonaws.com/datacubes/v02/N20E080/ITS_LIVE_vel_EPSG32645_G0120_X250000_Y3150000.zarr
s2_subset.v.mean(dim='mid_date').plot();
ITS_LIVE is exciting because it combines velocity data from a number of satellites into one accessible and efficient dataset. From this brief look, you can see snapshot overviews of the different data within the dataset and begin to think about processing steps you might take to work with the data further.
Checking coverage along a dimension¶
It would be nice to be able to scan/visualize and observe coverage of a variable along a dimension
First need to make a mask that will tell us all the possible ‘valid’ pixels. ie pixels over ice v. rock.
valid_pixels = sample_glacier_raster.v.count(dim=['x','y']).compute()
valid_pix_max = sample_glacier_raster.v.notnull().any('mid_date').sum(['x','y'])
cov = valid_pixels/valid_pix_max
sample_glacier_raster['cov'] = cov
Looking into mid_dates dimension…¶
how many duplicate time steps are there?
My trouble shooting steps… keeping in for now but can delete when ready
#how many time steps are duplicates?, there are 16872 unique vals in mid_dates
np.unique(sample_glacier_raster['mid_date'].data).shape
(16872,)
Start by grouping over mid_date. Would expect 16,872 (# unique time steps) with mostly groups of 1, groups of more than one on duplicate coords
test_gb = sample_glacier_raster.groupby(sample_glacier_raster.mid_date)
type(test_gb.groups)
dict
test_gb.groups is a dict, so let’s explore that object. the keys correspond to mid_date coords, so the values should be the entries at that coordinate. Want to find dict entries with more than one value…
val_ls = [len(val) for val in test_gb.groups.values()] #this is hopefully a list of the number of vals in each dict key
val_df = pd.DataFrame({'num_vals': val_ls})
val_df.head(3)
| num_vals | |
|---|---|
| 0 | 1 |
| 1 | 1 |
| 2 | 1 |
Subset the values dataframe to only keep rows with more than one value per key
val_df_sub = val_df.loc[val_df['num_vals'] > 1]
val_df_sub.head(3)
| num_vals | |
|---|---|
| 115 | 2 |
| 199 | 2 |
| 228 | 2 |
Interesting, df is 2602 rows (# time steps with more than one entry). How many have more than 2?
val_df_sub.plot.hist()
<AxesSubplot:ylabel='Frequency'>
Let’s look at one of the time steps with multiple entries. Used a for loop fn on the first year of the dataset for this (below)
duplicate_middate = sample_glacier_raster.sel(mid_date = '2013-09-30T04:56:01.528083968').compute()
duplicate_middate
---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
Input In [42], in <cell line: 1>()
----> 1 duplicate_middate = sample_glacier_raster.sel(mid_date = '2013-09-30T04:56:01.528083968').compute()
2 duplicate_middate
File ~/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/xarray/core/dataset.py:1027, in Dataset.compute(self, **kwargs)
1008 """Manually trigger loading and/or computation of this dataset's data
1009 from disk or a remote source into memory and return a new dataset.
1010 Unlike load, the original dataset is left unaltered.
(...)
1024 dask.compute
1025 """
1026 new = self.copy(deep=False)
-> 1027 return new.load(**kwargs)
File ~/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/xarray/core/dataset.py:861, in Dataset.load(self, **kwargs)
858 import dask.array as da
860 # evaluate all the dask arrays simultaneously
--> 861 evaluated_data = da.compute(*lazy_data.values(), **kwargs)
863 for k, data in zip(lazy_data, evaluated_data):
864 self.variables[k].data = data
File ~/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/dask/base.py:600, in compute(traverse, optimize_graph, scheduler, get, *args, **kwargs)
597 keys.append(x.__dask_keys__())
598 postcomputes.append(x.__dask_postcompute__())
--> 600 results = schedule(dsk, keys, **kwargs)
601 return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
File ~/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/dask/threaded.py:81, in get(dsk, result, cache, num_workers, pool, **kwargs)
78 elif isinstance(pool, multiprocessing.pool.Pool):
79 pool = MultiprocessingPoolExecutor(pool)
---> 81 results = get_async(
82 pool.submit,
83 pool._max_workers,
84 dsk,
85 result,
86 cache=cache,
87 get_id=_thread_get_id,
88 pack_exception=pack_exception,
89 **kwargs,
90 )
92 # Cleanup pools associated to dead threads
93 with pools_lock:
File ~/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/dask/local.py:497, in get_async(submit, num_workers, dsk, result, cache, get_id, rerun_exceptions_locally, pack_exception, raise_exception, callbacks, dumps, loads, chunksize, **kwargs)
495 while state["waiting"] or state["ready"] or state["running"]:
496 fire_tasks(chunksize)
--> 497 for key, res_info, failed in queue_get(queue).result():
498 if failed:
499 exc, tb = loads(res_info)
File ~/miniconda3/envs/itslivetools_env/lib/python3.10/site-packages/dask/local.py:134, in queue_get(q)
133 def queue_get(q):
--> 134 return q.get()
File ~/miniconda3/envs/itslivetools_env/lib/python3.10/queue.py:171, in Queue.get(self, block, timeout)
169 elif timeout is None:
170 while not self._qsize():
--> 171 self.not_empty.wait()
172 elif timeout < 0:
173 raise ValueError("'timeout' must be a non-negative number")
File ~/miniconda3/envs/itslivetools_env/lib/python3.10/threading.py:320, in Condition.wait(self, timeout)
318 try: # restore state no matter what (e.g., KeyboardInterrupt)
319 if timeout is None:
--> 320 waiter.acquire()
321 gotit = True
322 else:
KeyboardInterrupt:
print('mid date: ', duplicate_middate.mid_date.mid_date.data)
print('image 1 date for entries 1 and 2: ', duplicate_middate.acquisition_date_img1.data)
print('image 2 date for entries 1 and 2: ', duplicate_middate.acquisition_date_img2.data)
time_diff1 = duplicate_middate.acquisition_date_img1.data[0] - duplicate_middate.acquisition_date_img2.data[0]
diff_days1 = time_diff1.astype('timedelta64[D]')
print(diff_days1/np.timedelta64(1,'D'), ' days')
time_diff2 = duplicate_middate.acquisition_date_img1.data[1] - duplicate_middate.acquisition_date_img2.data[1]
diff_days2 = time_diff2.astype('timedelta64[D]')
print(diff_days2/np.timedelta64(1,'D'), ' days')
In this case, looks like both entries are Landsat8 velocity data, one generated from image pairs 16 days apart and one from image pair 48 days apart
def find_dim_duplicates(input_xr):
for element in range(len(input_xr.mid_date)):
if (element+1) <= 284:
if input_xr.isel(mid_date=element).mid_date.data == input_xr.isel(mid_date=(element+1)).mid_date.data:
print(input_xr.isel(mid_date=element).mid_date.data)
else:
pass
else:
pass
find_dim_duplicates(sample_glacier_raster.sel(mid_date = slice('2013-01-01','2014-01-01')))
Exploring data coverage over time series¶
Let’s take a look at the data coverage over this glacier across the time series
fig, ax = plt.subplots(figsize=(30,3))
sample_glacier_raster.cov.plot(ax=ax, linestyle='None',marker = 'x')
But what if we wanted to explore the relative coverage of the different sensors that make up the its_live dataset as a whole?
We can use groupby to group the data based on a single condition such as satellite_img1 or mid_date.
sample_glacier_raster.cov.groupby(sample_glacier_raster.satellite_img1)
sample_glacier_raster.groupby('mid_date')
However, if we want to examine the coverage of data from different sensor groups over time, we would essentially want to groupby two groups. To do this, we use flox
This is the xr.DataArray on which we will perform the grouping operation using flox
sample_glacier_raster.cov
Using flox, we will define a coverage object that takes as inputs the data we want to reduce, the groups we want to use to group the data and the reduction we want to perform.
coverage = flox.xarray.xarray_reduce(
sample_glacier_raster.cov,
sample_glacier_raster.satellite_img1.compute(),
sample_glacier_raster.mid_date,
func="mean",
fill_value=0,
)
Now we can visualize the coverage over time for each sensor in the its_live dataset. Cool!
plt.pcolormesh(coverage.mid_date, coverage.satellite_img1, coverage, cmap='viridis')
plt.colorbar()
This notebook displayed basic data inspection steps that you can take when working with a new dataset. The following notebooks will demonstrate further processing, analytical and visualization steps you can take.